Java Activity服务类和Java Activity应用程序类

时间:2012-02-27 16:58:23

标签: java

活动类:

开发一个“建议”基于温度的活动的类。应通过具有公共访问器和增变器方法的私有变量来维持温度。需要两个构造函数。默认构造函数应将温度设置为0.应创建第二个构造函数以接受初始温度值。另一个名为suggestion的方法应该返回一个包含“建议”活动的String。当温度高于85℃时,该方法应建议游泳。当在70到84之间时,该方法应该建议网球。当温度在60到69之间时,建议徒步旅行。当温度低于60时,该方法应建议棋盘游戏。

客户申请:

创建一个Java客户端应用程序来测试您的类。客户端应该从用户获取温度并使用该类来确定要向用户报告的活动。

活动类代码

/**
 * 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 建议徒步旅行(应该是网球)

今天温度:66 建议棋盘游戏(当它应该是徒步旅行时)

所以我想知道我在远足和网球方法上做错了什么。

2 个答案:

答案 0 :(得分:0)

这是你的错误:

if (84 < temperature && temperature > 70)

if (69 < temperature && temperature > 60)

正确的陈述是

if (84 > temperature && temperature > 70)

if (69 > temperature && temperature > 60)

答案 1 :(得分:0)

你的病情不是很好。看看:

69 < temperature && temperature > 60

意味着温度超过69且温度超过60。 我想你的意思是:

69>temperature && temperature > 60