我正在编写一个程序,该程序将使用临时列表和日期,并使用对象数组实现该列表。每个对象将存储temp(double)和day(string)。然后我们需要对对象进行排序并输出它们。我使用两个变量,get/set方法和构造函数创建了我的第一个类(DailyTemperature)。现在,当我去创建带有ArrayList的第二个类(DailyTemperatureList)时,尝试添加到列表中时出现错误,错误提示
“找不到适用于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);
}
}

最佳答案

dailytempsArrayListDailyTemperature。因此,在添加它时,您需要添加一个DailyTemperature实例:

dailytemps.add(new DailyTemperature("Mon", 78.1));

按照当前的实现,DailyTemperatureList不需要扩展DailyTemperature

关于java - 尝试扩展类(class)时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19203925/

10-11 05:08