Je suis en train d'écrire un programme qui va prendre une liste de temps et de jours et implémenter la liste en utilisant un tableau d'objet. chaque objet va stocker le temp (double) et le jour (string). alors nous devons trier les objets et les sortir. J'ai créé ma première classe (DailyTemperature) avec les deux variables, les méthodes get/set et un constructeur. Maintenant, quand je vais créer ma deuxième classe (DailyTemperatureList) avec l'ArrayList, j'obtiens une erreur en essayant d'ajouter à la liste l'erreur "aucune méthode appropriée trouvée pour ajouter (java.lang.String, double) la méthode java .util.ArrayList.add (int, DailyTemperature) n'est pas applicable (l'argument réel java.lang.String ne peut pas être converti en int par la conversion d'invocation de méthode) La méthode java.util.ArrayList.add (DailyTemperature) ne s'applique pas aux listes actuelles et officielles Je suppose que c'est parce que j'essaie d'utiliser des variables de la classe DailyTemperature, mais quand je l'étend, j'obtiens une erreur disant constructeur DailyTemperature dans la classe DailyTemperature ne peut pas être appliqué à des types donnés.Je ne sais pas pourquoi Suis-je pas censé m'étendre et peut-être faire autre chose?Problème lors de la tentative d'extension de la classe
Voici mon code:
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
public class DailyTemperature
{
//variables
private double temperature;
private String day;
//getTemp & setTemp methods
public double getTemp()
{
return temperature;
}
public void setTemp(double newTemp)
{
temperature = newTemp;
}
//getDay & setTEmp methods
public String getDay()
{
return day;
}
public void setDay(String newDay)
{
day = newDay;
}
public DailyTemperature(String day, double temperature) {
this.day = day;
this.temperature = temperature;
}
}
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
public class DailyTemperatureList extends DailyTemperature
{
public static void main (String [] args) {
ArrayList<DailyTemperature> dailytemps = new ArrayList<DailyTemperature>();
dailytemps.add("Mon", 78.1);
}
}
Comment implémenter l'interface comparable? donc dans la classe DailyTemperatureList utiliserait cette ligne "dailytemps.add (new DailyTemperature (" Mon ", 78.1));" ajouter des éléments à la liste que je pourrais alors trier? –
@SophiaAli implémentant 'Comparable' est utile, mais vous devriez d'abord faire travailler le code. Pour implémenter 'Comparable', 'DailyTemperature' doit déclarer qu'il l'implémente, et il doit implémenter' int compareTo (DailyTemperature) 'comme défini par [Comparable] (http://docs.oracle.com/javase/ 7/docs/api/java/lang/Comparable.html). Lisez à propos de la mise en œuvre des interfaces à partir du [tutorial] (http://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html). –
kiheru