Boas pessoal,
Estou a tentar gravar 10 registos num ArrayList e aparentemente não está a gravar . Podem me ajudar por favor?
Output linha cmd:
Estou a imprimir o tamanho do array e fica sempre igual a 1, ou seja , não adiciona...
Estou a tentar gravar 10 registos num ArrayList e aparentemente não está a gravar . Podem me ajudar por favor?
Código:
package domini.Ranking;
import java.util.ArrayList;
import domini.Tuple.*;
public class Ranking {
ArrayList<Tuple> ranking ;
public void insert(Tuple t) {
ranking = new ArrayList<Tuple>(10);
if(ranking.size()<10) {
ranking.add(t);
}
else {
int i =0;
while(i < ranking.size()) {
if(ranking.get(i).getValue() < t.getValue() ) {
if(ranking.get(i).getPlayerName().equals(t.getPlayerName())) {
ranking.add(t);
i++;
}
else{
System.out.println("Not inserted.");
}
}
}
}
}
public ArrayList<Tuple> getRanking(){
return ranking;
}
}
Código:
package domini.Ranking;
import java.util.Scanner;
import domini.Tuple.*;
public class DriverRanking {
public static void main (String[] args) {
Boolean exit = false;
Scanner sc= new Scanner(System.in);
Tuple t = null;
Ranking r =null;
while (!exit) {
System.out.println("Input number for test");
System.out.println("1. Insert ranking");
System.out.println("2. Get Ranking");
System.out.println("3. Exit Driver");
int option = sc.nextInt();
sc.nextLine();
switch(option) {
case 1:
System.out.println("Insert a name");
String A = sc.nextLine();
System.out.println("Insert a record");
Float B = sc.nextFloat();
t = new Tuple(A,B);
r = new Ranking();
System.out.println(A + " you scored " + B);
r.insert(t);
break;
case 2:
for(int i=0;i<r.getRanking().size();i++) {
System.out.println(r.getRanking().get(i));
System.out.println(r.getRanking().size());
}
break;
case 3:
exit = true;
sc.close();
break;
default:
System.out.println("Option not valid, please input a number from 1 to 3");
break;
}
}
}
Output linha cmd:
Código:
Input number for test
1. Insert ranking
2. Get Ranking
3. Exit Driver
1
Insert a name
Luis
Insert a record
2
Luis you scored 2.0
Input number for test
1. Insert ranking
2. Get Ranking
3. Exit Driver
1
Insert a name
Pedro
Insert a record
12
Pedro you scored 12.0
Input number for test
1. Insert ranking
2. Get Ranking
3. Exit Driver
2
domini.Tuple.Tuple@4554617c
1
Input number for test
1. Insert ranking
2. Get Ranking
3. Exit Driver
Estou a imprimir o tamanho do array e fica sempre igual a 1, ou seja , não adiciona...