Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 布尔理解_Java_Boolean - Fatal编程技术网

Java 布尔理解

Java 布尔理解,java,boolean,Java,Boolean,我正试图用我的头脑去思考一个问题,这个问题与使用布尔表达式的练习问题有关。我想创建一个程序,告诉人们是否应该骑自行车。我有两个变量,想写and语句和OR语句。我的两个变量是路况和温度 编辑:在我得到的帮助下,我取得了一些进步。我在下面第22行遇到了另一个问题 // Program to decide if biking or driving to work is best import javax.swing.*; public class SNHU3_4Paper { public st

我正试图用我的头脑去思考一个问题,这个问题与使用布尔表达式的练习问题有关。我想创建一个程序,告诉人们是否应该骑自行车。我有两个变量,想写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");

    }

}

}

要将道路条件表示为干或湿,布尔值就足够了。例如,布尔变量可以这样设置

bool road_is_dry = true;

if(road_is_dry){
  print("The road is dry");
} else {
  print("The road is wet");
}
在这种情况下,道路是干燥的,因此将打印道路是干燥的。如果将同一变量设置为false,则道路不是干燥的,而是潮湿的,因此将打印“道路是湿的”

这是一个条件语句的示例,您正在决定应该执行哪个代码块。在设置条件时,In可以非常有用,以使用变量名,这些变量名可以组合在一起构成简单的英语句子。然后基本的句子可以翻译成代码,然后再翻译回来

如果选择了好的变量和函数名,那么简单的英语句子“如果道路干燥,骑自行车”可以很容易地翻译成代码,就像这样

if(road_is_dry){
  ride_bike();
}

回答你的第二个问题:我在下面第22行遇到了另一个问题

您正在使用==将roadIsdry(布尔值)与roadCondition(字符串)进行比较。您之前使用roadCondition保存用户的输入,然后对其进行解析

在Java中,将基本类型int、boolean、double等与使用==的对象进行比较几乎不起作用。字符串是对象。roadIsdry==roadCondition字面上是问Java roadCondition的内存地址是否与roadIsdry的布尔值相同?并且总是会评估为错误,因为这两件事是不一样的,甚至没有意义进行比较


您要做的是将roadIsdry与布尔值(true或false)或另一个布尔变量进行比较。您也可以自己指定roadIsdry。如果期望有一个布尔值作为其最终值,以决定遵循哪个代码分支,因此如果roadIsdry完全有效,就像temp>=weather&&roadIsdry一样。

使用布尔值时,没有0或1。只有对或错。如果你发布了你当前的代码,并准确地解释了你想做的事情,那会很有帮助。我知道。我刚刚发现了这一点,现在正在用新代码更新我的帖子。很抱歉。我读了你的评论,明白你在说什么。我解决了这个问题。谢谢你的帮助。