Lorsque je tente d'obtenir un élément d'une arraylist, il me donne une erreur disantJava - ne peut pas convertir doubler
error: incompatible types: Object cannot be converted to double
double highest = numbers.get(0);
et aussi ce
error: bad operand types for binary operator '<'
if(highest < numbers.get(i)){
Je suis nouveau à java, mais pas de programmation, donc je ne suis pas vraiment sûr de ce qu'il faut faire car les numéros sont doubles (j'ai vérifié) mais il me donne toujours une erreur quand j'essaie de sélectionner un élément de la matrice ou comparer (highest < numbers.get(i)
)
Voici le code complet:
import java.io.*;
import java.util.*;
import java.util.ArrayList;
public class Main {
public static void main (String[] args)throws IOException{
boolean keepRunning = true;
ArrayList numbers = new ArrayList();
ArrayList sortedNumbers = new ArrayList();
while(keepRunning){
Scanner input = new Scanner(System.in);
System.out.print("Do you want to sort the numbers or add a number?");
String answer = input.nextLine();
if(answer.equals("sort")){
double highest = numbers.get(0);
for(int i = 0; i < numbers.size(); i++){
if(highest < numbers.get(i)){
highest = numbers.get(i);
}
System.out.print(numbers.get(i));
}
// System.out.println(highest);
System.out.println("Bye Bye.");
keepRunning = false;
}else if(answer.equals("add")){
System.out.print("What number to you want to add?");
numbers.add(Double.parseDouble(input.nextLine()));
System.out.println("Added number.");
}else{
System.out.println("That is not an option.");
}
}
}
}
Vous ne pouvez pas utiliser des mots-clés pour les génériques, ce serait: 'ArrayList list = new ArrayList ();'. De plus, vous devez toujours identifier le type d'objet. –
L'utilisation générique de ** types de données primitifs ** n'est pas ** possible en Java (au moins actuellement). Vous devez utiliser les classes wrapper 'Double' etc. à la place. – Zabuza
Oh ok!Désolé pour ça! – JasperHsu