0

みなさん、こんにちは。助けが必要です。クラス Day と Weather 各クラスにはフィールドがあります。クラスの日とそのフィールド (日付、気温、コメント)。クラス Weather とそのフィールド (季節とコメント)。主な問題は次のとおりです。次のデータを見つけて表示します。平均気温、最高気温のある日、コメントが最も長い日。したがって、両方のクラスの基本構造を簡単に記述しましたが、論理構造が積み重なっており、それを解決または改善する方法についてアドバイスまたは助けてください。プログラミングは初めてです。授業日はこちら:

public class Day {
    private Date date;
    private int temperature;
    private ArrayList<String> comments = new ArrayList<String>() ;
    Weather weather;

    Day( Date date, int temperature, String comment){
        this.date=date;
        this.temperature=temperature;
        this.comments.add(comment);
    }
    public Date getDate(){
        return  date;
    }
    public void setDate(Date date){
        this.date=date;
    }
    public int getTemperature(){
        return  temperature;

    }
    public  void setTemperature(int temperature){
        this.temperature=temperature;

    }
    public ArrayList<String> getComments() {
        return comments;

    }
    public void addComment(String comment){
        this.comments.add(comment);
    }
    public String longestComment() {
        int length = 0;
        String longestComment = "";
        for ( String comment : comments )
        {
            if ( comment.length() > length )
            {
                length = comment.length();
                longestComment = comment;
            }
        }
        return longestComment;
    }


    public  static  void main (String args []){
        Calendar c=new GregorianCalendar();

        Day day=new Day(c.getTime(),20,"Today is normal temperature");
        day.addComment("Tomorrow is going to be the highest degree for ever in this summer");
        day.addComment("Yesterday was the coldest temperature");
        day.addComment("Next week is going to be the coldest temperature ever");
        day.addComment("In the early years of the ice era there was only highest degree of temperature for ever");
        System.out.println("the longest comment is:");
        System.out.println( day.longestComment() );
    }
}

そしてここにクラス Weather:

public class Weather {
private  String season;
    private String comments;
        Day [] day;

     public   Weather(String season, String comments, Day [] day){
         this.comments=comments;
         this.season=season;
         this.day=day;
       }

   public static void main (String args []){


   }
    public String getSeason(String season){
        return season;
    }
    public void setSeason(String season){
                    this.season=season;
    }
    public String getComments(String comments){
        return comments;
    }
          public void setComments(String comments){
              this.comments=comments;
          }
    public Day getDay(Day  day){
        return day ;
    }
    public void setDay(Day [] day){
        this.day=day;
    }
    public int averageTemp(int aver){
    for(int t=0; t<day.length;t++){
        if (aver==((day.length)/2)){

          return day[t].getTemperature();
    }
    }
        return 0;
    }
  public void maxTemp(){
      int max=0;

      for (int i=0; i<day.length;i++){

      }

  }
    public void findLongestComment(String comment){

   System.out.println("Comment\""+comment+"\":");
}

そして、どの種類の型を Date として宣言しますか? これは私のアプリケーションの論理的な部分であるため、説明をお願いします。アプリケーションの将来の開発に影響を与えます。辛抱強く理解してくれてありがとう

4

1 に答える 1

0

平均気温はおそらく次のようになります。

public int averageTemp()
{
  int totalTemp=0;
  for (Day day1 : day)
  {
    totalTemp+=day1.getTemperature;
  }
  return totalTemp/day.length;
}

最大温度については、最長のコメントに対して何をしたかについて正しい考えを持っています。同じロジックを使用するだけです。すべてのエントリをループし、それぞれをこれまでに見つかった最高値と比較し、これが高ければ、これまでの最高値になります。

于 2012-11-01T22:06:27.100 に答える