Witam.
Tworze sobie ArrayListe<Karty> później klasa random losuje te karty ale muszę je od razu uporządkować w kolejności wartość później kolor. mecze się już z tym 4 godziny help plis. Kod:
public class Karty {
int kolor;
int wartosc;
public Karty(){
kolor=0;
wartosc=1;
}
public Karty(int kolor, int wartosc){
this.kolor=kolor;
this.wartosc=wartosc;
}
public String toString(){
return String.format("Wartość: %-5dKolor: %-5d",wartosc, kolor);
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner wprowadzenieDanych = new Scanner(System.in);
int znak;
ArrayList<Karty> karty = new ArrayList<Karty>();
do{
System.out.println("\n1. Utworzenie listy" +
"\n2. Wyświetlanie listy" +
"\n3. Wyświetlanie liczby elementów listy" +
"\n4. Wyświetlanie kart o podanej wartości" +
"\n5. Wyświetlanie kart o podanym kolorze"+
"\n6. Wyjście");
System.out.print("\nWybierz operację (1-6): ");
znak =wprowadzenieDanych.nextInt();
switch(znak){
case 1:
Random losowanieKart = new Random();
int wartosc=1;
for(int i=0;wartosc!=0;i++){
wartosc = losowanieKart.nextInt(14);
int kolor = losowanieKart.nextInt(4);
karty.add(i, new Karty(kolor, wartosc)); // tutaj od razu trzeba ustawiac w kolejnosci
}
break;
case 2:
Iterator<Karty> it = karty.iterator();
while(it.hasNext()){
Karty k = it.next();
System.out.println(k);
}
break;
case 3:
System.out.println("\nLiczba elementów listy: "+karty.size());
break;
case 4:
System.out.print("Podaj wartość karty: ");
int wartoscSprawdzana= wprowadzenieDanych.nextInt();
for(int i=0;i<karty.size();i++){
if(karty.get(i).wartosc==wartoscSprawdzana){
System.out.println(karty.get(i));
}
}
break;
case 5:
System.out.print("Podaj kolor karty: ");
int kolorSprawdzany= wprowadzenieDanych.nextInt();
for(int i=0;i<karty.size();i++){
if(karty.get(i).kolor==kolorSprawdzany){
System.out.println(karty.get(i));
}
}
break;
}
}
while(znak!=6 && znak<6);
wprowadzenieDanych.close();
}
}