-6

温度 (Double) と毎日 (文字列) のリストを持つプログラムを作成しようとしています。リストはオブジェクトの配列を使用して実装する必要があります。

double と文字列を使用してリストを作成する方法と、オブジェクトの配列を使用してリストを実装する方法がわかりません。

これまでのところ、これは私のプログラムのために持っているものです:

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;
    }



}

ただし、double と文字列を使用してリストを作成するにはどうすればよいですか?また、オブジェクトの配列を使用してリストを実装するにはどうすればよいでしょうか? これを行う方法がわかりません。

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

あなたにはいくつかの可能性があります:)

悪い点:

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 に答える
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 に答える