1:我对这两个变量如何感到困惑:
boolean firstNumberEntered=false;
boolean secondNumberEntered=false;
控制循环内外的条件?
2:退出前后的值是什么?循环?
3:这些变量的值是否可以
double firstNumber=0.0,secondNumber=0.0;
存储在布尔变量内部,如果是这样的话?
4:
之间的关系是什么boolean firstNumberEntered=false;
boolean secondNumberEntered=false;
循环中的和if语句?
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Welcome to calculations in order");
int itemMenu=0;
boolean userWantsToContinue=true;
boolean firstNumberEntered=false;
boolean secondNumberEntered=false;
double firstNumber=0.0,secondNumber=0.0;
while (userWantsToContinue){
if (firstNumberEntered) {
System.out.println("1.First number "+"(Currently): "+'('+firstNumber+')');//
} else {
System.out.println("1.First number "); //it will be displayed at first because its value true
}
if (secondNumberEntered){
System.out.println("2.Second number "+"(Currently): "+'('+secondNumber+')');
}else{
System.out.println("2.Second number ");
System.out.println("3.Takes Square");
System.out.println("4.Takes Cube");
System.out.println("5.Multiplication");
System.out.println("0.Exit");
System.out.println("\nPlease choose an item");
switch (itemMenu=in.nextInt()){
case 1:
System.out.println("Please Enter First Number: ");
firstNumber=in.nextDouble();
firstNumberEntered=true;
break;
case 2:
System.out.println("Please Enter second Number");
secondNumber=in.nextDouble();
secondNumberEntered=true;
break;
case 3:
if(firstNumberEntered&&secondNumberEntered){
double square=firstNumber*secondNumber;
System.out.println("Square results = "+square);
}else{
System.out.println("Please go back to item 1 & 2");
}
break;
case 4:
if(firstNumberEntered){
double cube=firstNumber*firstNumber*firstNumber;
System.out.println("Cube results= "+ cube);
}else{
System.out.println("Please go back to 1&2");
}
break;
case 5:
if(firstNumberEntered&&secondNumberEntered){
double multiplication= firstNumber*secondNumber;
System.out.println("Multiplication of one and second number = "+multiplication);
}else{
System.out.println("Please go back to item 1 & 2");
}
break;
case 0:
System.out.println("thank you visit us again لاتنسى!!");
userWantsToContinue=false;
break;
default:
System.out.println("Invalid option!!@_@");
System.out.println("Please enter the number of the menu item you want and don't do this mistake again!!.");
itemMenu=in.nextInt();
}
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
1 - 它们变量检查用户是否插入了一些值(第一个和第二个)。 2 - 在while循环之前,变量具有声明的默认值(false和false)。循环之后,变量保存最后指定的值。但是你的程序将在while循环后退出。这意味着,您必须再次启动它,变量将获得默认值。 3 - 您不能在布尔变量中存储双值。 Java有严格的数据类型,它不像javascript或php。 4 - 布尔人只是旗帜。他们检查用户是否插入了一些数据。第一次插入后,变量firstNumberEntered将设置为true。在第二次插入之后,变量secondNumberEntered将设置为true。
答案 2 :(得分:0)
boolean
是一种Java基元类型,只能存储两个值: true 或 false
您需要使用布尔值或解析为while
循环中布尔值的表达式
1:我对这两个变量如何感到困惑:
boolean firstNumberEntered=false;
boolean secondNumberEntered=false;
这两个存储值的变量,因为它们的类型为boolean
,它们只能存储true
或false
2:退出前后的值是什么?while循环?!!
它与int
或double
等其他原语完全相同。由于变量是在循环之外声明的,因此它们在循环之后仍然存在。
3:这些变量的值是否可以
double firstNumber = 0.0,secondNumber = 0.0;
存储在布尔变量中,如果是,那么?!!
没有。 boolean
只能有两个值:true
或false
这是非法的:
firstNumberEntered = firstNumber; // The types are incompatible.
这是合法的:
boolean areEquals = ( 4 == 2 + 2); // `true` is stored in the boolean.
4:
之间的关系是什么boolean firstNumberEntered = false; boolean secondNumberEntered = false;
循环中的和if语句!!?
您可以使用解析为布尔值的布尔值或表达式作为if
或while
语句的参数。
举个例子:
int a = 3;
int b = 3;
boolean sameValue = a == b;
if (a == b) // Equivalent to if(sameValue)