2012-02-27 10 views
0

アクティビティクラス:JavaアクティビティサービスクラスおよびJavaアクティビティアプリケーションクラス

温度に基づいてアクティビティを「示唆する」クラスを作成します。温度は、パブリック・アクセサーおよびミューテータ・メソッドを使用してプライベート変数を介して維持する必要があります。 2つのコンストラクタが必要です。デフォルトのコンストラクタでは、温度を0に設定する必要があります。初期温度値を受け入れるには、2番目のコンストラクタを作成する必要があります。提案された追加のメソッドは、 "提案された"アクティビティを含むStringを返すべきです。温度が85を超える場合、この方法は水泳を示唆すべきである。 70から84の間では、この方法はテニスを示唆すべきである。与えられた温度が60から69の間であるとき、ハイキングが示唆される。温度が60℃未満の場合、この方法はボードゲームを示唆すべきである。

クライアントアプリケーション:

クラスをテストするJavaクライアントアプリケーションを作成します。クライアントは、ユーザーから温度を取得し、そのクラスを使用してユーザーに報告するアクティビティーを判別する必要があります。

Activityクラスコード

/** 
* Java Chatbot Service class 
* @author blake 
* 2/26/2012 
*/ 

public class Activity 
{ 
    private int temperature; 

    public Activity(int newtemperature) 
     { 
     temperature = newtemperature; 
     } 

    public String getActivity() 
     { 
      String a = "board games"; 

      if (temperature > 85) 
      { 
       a = "Suggests Swimming"; 
       return a; 
      } 
      if (84 < temperature && temperature > 70) 
      { 
       a = "Suggests Playing Tennis"; 
       return a; 
      } 
      if (69 < temperature && temperature > 60) 
      { 
      a = "Suggests Hiking"; 
       return a; 
      } 
      if (temperature < 60) 
      { 
       a = "Suggests Playing Board Game"; 
       return a; 
      } 

    return a; 
    } 
} 

活動クライアントコード

/** 
* Java Chatbot Service class 
* @author Blake 
* 2/26/2012 
*/ 

import java.util.Scanner; 

public class ActivityClient 
{ 
    public static void main(String[] args) 
    { 
     Scanner in = new Scanner(System.in); 

     System.out.print("Temperature of weather today: "); 
     int temperature = in.nextInt(); 

     Activity act = new Activity(temperature); 
     System.out.println(act.getActivity()); 
    } 
} 

わかりましたが、ここでそれはブール式でだ、私が午前大きな問題です。

これまでにプログラムをコンパイルして実行したときに、私が望ましくない活動を提案したときに、今日

温度を働い

回答:90 は今日

温度を泳いでお勧め:58 はボードゲームに

これら二つの作業

を再生する提案が、私は

に入れたときに今日の

温度:77 sugge目のハイキング(それはテニスであるべきとき)

温度今日:66 だから私は、私はハイキングやテニスのための方法と間違って何をやっていると思いまし

(それはハイキングであるべきとき)ボードゲームを示唆しています。ここ

答えて

0

あなたの状態になり、本当に良いものではありません。温度が69℃より高く、温度が60℃より高いことを意味する。 私はあなたが意味を考える:

69>temperature && temperature > 60 
+0

ええ、それは私がそれが70より少ないが60より大きくしたいので意味しますが、それは私に何か他のものを与え続けました。 – blake

+0

'if(){} elseif()...'を使って効果を上げることができます。すでに1つしか通過できておらず、すでに通過していることをすでに知っている場合、プログラムは各ケースをテストすることを避けます。 –

0

あなたのエラーは、次のとおりです。

if (84 < temperature && temperature > 70) 

if (69 < temperature && temperature > 60) 

正しい文は

if (84 > temperature && temperature > 70) 

if (69 > temperature && temperature > 60) 
+0

は今、魔法のように動作し、どうもありがとうございました:)それは私が今からその後、偽の表現としての温度のいずれかを設定しなければならないことを意味します。 – blake

関連する問題