布尔理解

时间:2015-05-26 19:42:20

标签: java boolean

我试图围绕一个使用布尔表达式的练习问题遇到的问题。我想创建一个程序,说明是否有人应该骑自行车。我有两个变量,想写一个AND语句和一个OR语句。我的两个变量是道路条件和温度。

编辑:在我收到的帮助下,我取得了一些进展。我从下面的第22行遇到了另一个问题;

// Program to decide if biking or driving to work is best

import javax.swing.*;

public class SNHU3_4Paper {

public static void main(String[] args) {

    String temperature;
    String roadCondition;

    double temp;
    double weather = 50;
    double road;
    boolean roadIsdry = true;

    temperature = JOptionPane.showInputDialog("Enter temperature outside: ");
    roadCondition = JOptionPane.showInputDialog("Is the road dry (true or false): ");

    temp = Double.parseDouble(temperature);
    road = Double.parseDouble(roadCondition);

    if (temp >= weather && road == roadIsdry)
        JOptionPane.showMessageDialog(null, "Bike to work");

    else {
        JOptionPane.showMessageDialog(null, "Drive to work");

    }

}

}

2 个答案:

答案 0 :(得分:1)

要将道路状况表示为干燥或潮湿,布尔值就足够了。例如,布尔变量可能会像这样设置

bool road_is_dry = true;

if(road_is_dry){
  print("The road is dry");
} else {
  print("The road is wet");
}

在这种情况下,道路干燥,因此将打印“道路干燥”。如果相同的变量设置为假,那么道路不干(它是湿的),因此将打印“道路潮湿”。

这是条件语句的一个示例,您可以在其中决定应该执行哪个代码块。在设置条件使用变量名称时可以非常有用,这些变量名称可以放在一起制作简单的英语句子。然后基本句子可以转换为代码,然后再转回。

简单的英文句子“如果道路干燥,骑自行车”可以轻松转换为代码,如果选择好的变量和功能名称,就像这样

if(road_is_dry){
  ride_bike();
}

答案 1 :(得分:1)

回答您的第二个问题:I have run into another issue in Line 22 from below

您正在使用roadIsdryroadCondition(一个布尔值)与==(一个字符串)进行比较。您之前使用roadCondition来保存用户的输入,然后解析它。

在Java中,使用==将基本类型(int,boolean,double等)与对象进行比较几乎不起作用。字符串是对象。 roadIsdry == roadCondition字面上要求Java“roadCondition内存地址roadIsdry布尔值相同吗?”并且总是评价为假,因为这两件事并不相同,甚至没有意义进行比较。

您要做的是将roadIsdry与布尔值(truefalse)或另一个布尔值变量进行比较。您也可以单独指定roadIsdryif (...)期望使用布尔值作为其最终值来决定要遵循的代码分支,因此if (roadIsdry)完全有效,if (temp >= weather && roadIsdry)也是如此。