我正在编写一个程序,它将采用临时和日期列表并使用对象数组实现列表。每个对象将存储temp(double)和day(string)。那么我们需要对这些对象进行排序并输出它们。我用两个变量创建了我的第一个类(DailyTemperature),get/set方法和一个构造函数。现在,当我去创建我的第二类(DailyTemperatureList)与ArrayList的时候,当我尝试添加到列表中时出现错误,错误提示 “找不到适用于add(java.lang.String,double)方法的方法java .util.ArrayList.add(int,DailyTemperature)不适用(实际参数java.lang.String不能通过方法调用转换转换为int)方法java.util.ArrayList.add(DailyTemperature)不适用实际和正式列表不同的长度试图扩展类时遇到问题
我假设它是因为我想使用DailyTemperature类的变量。但是当我扩展它时,我得到一个错误,说类DailyTemperature中的构造函数DailyTemperature不能应用于给定的类型。 。我不应该延长,也许做别的事吗?
这里是我的代码:
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);
}
}
如何实现可比较的界面? (DailyTemperature(“Mon”,78.1));“将元素添加到列表中,然后我可以排序? –
@SophiaAli实现'Comparable'很有用,但你应该先让你的代码工作。为了实现'Comparable','DailyTemperature'需要声明它实现它,并且它需要实现[Comparable]定义的'int compareTo(DailyTemperature)'(http://docs.oracle.com/javase/) 7 /文档/ API /爪哇/郎/ Comparable.html)。阅读[教程](http://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html)的实现接口。 –
kiheru