-6

我正在尝试编写一个程序,其中我们有一个温度列表(双)和每天(字符串),该列表需要使用对象数组来实现。

我不明白如何使用双精度和字符串创建列表,以及如何使用对象数组来实现它。

到目前为止,这就是我的程序:

public class dailyTemperature 
{

    //variables
    double temperature;
    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;
    }



}

但是,如何使用双精度和字符串创建列表以及如何使用对象数组来实现列表?我不知道该怎么做。

4

3 回答 3

3
// -- if you use lombok: ---
// @Data
// @AllArgsConstructor
// -------------------------
public class TempOfTheDay {
    private double temp;

    private String day; // I would use and int (see Calendar.MONDAY etc)

    // ctors, getters, setters, ... (if you don't use lombok :p)
}

并将其放入一个数组中:

final TempOfTheDay[] myArray = new TempOfTheDay[]{ 
    new TempOfTheDay(127.0, "monday") 
};
于 2013-10-03T19:32:58.033 回答
0

我刚刚在 C# 中做了类似的事情。在这里它被翻译成Java。

您可以创建一个包含每个条目信息的类,例如:

    public class DayTemperature       
    {
            private String day;
            private int temp;

            public DayTemperature(String day, int temp)
            {
                this.day = day;
                this.temp = temp;
            }
    }

然后在你的程序中,你可以实例化这个类,给这些值一些值,然后将对象放入一个列表中:

    DayTemperature  entry1 = new DayTemperature ("Monday", 123);
    DayTemperature  entry2 = new DayTemperature ("Tuesday", 23);
    DayTemperature  entry3 = new DayTemperature ("Wednesday", 50);

    List<DayTemperature> list1 = new ArrayList<DayTemperature>();
    list1.add(entry1);
    list1.add(entry2);
    list1.add(entry3);

希望这可以帮助

于 2013-10-03T19:36:17.040 回答
0

你有几个可能性:)

坏的:

Object[] result = new Object[1];
result[0] = new Object[]{"1.1", Double.valueOf(15,3)};

System.out.println("Day " + result[0][0] + " was temperature: " + result[0][1]);

更好的一个:

class DayTemperature
{
  final Strting date;
  final Double temperature;
  DayTemperature(String aDate, Double aTemperature)
  {
     date = sDate;
     temperature = aTemperature;
  }
  String getDate() { return date;}
  Double getTemperature() { return temperature;}
}

final DayTemperature[] result = new DayTemperature[1]; 
result[0] = new DayTemperature("1.1", Double.valueOf(12.5));

System.out.println("Day " + result[0].getDate() + " was temperature: " + result[0].getTemperature());

最好我会建议你地图:

Map<String, Double> result = new HashLinkedMap<String, Double>(1);
result.put("1.1", Double.valueOf(12,5));

for(Map.Entry<String, Double> e : result.entrySet())
{
  System.out.println("Day " + e.getKey() + " was temperature: " + e.getValue());
}

希望这会有所帮助。

于 2013-10-03T19:42:31.043 回答