不使用 if/else 语句的布尔语句?
Boolean statement without using if/else statement?
需要打印一个布尔语句 return
-'true' 如果输入数字在 1 到 100 范围内,但 'false' 如果它是 40 到 50 之间的偶数。
- 例如,如果您输入 12、45、60 等...您应该得到 true。
- 如果您输入 42、44 或 48,您应该得到 false。
这是我目前的代码,
我被卡住了,因为如果我输入一个低于 40 的数字,例如 12 或高于 50,例如 60,它会打印 'false'。这是我唯一需要帮助修复的部分。在这里编程的初学者,非常感谢任何帮助。
public static void main(String[] args) {
int value;
System.out.println("enter number");
Scanner scan = new Scanner(System.in);
value = scan.nextInt();
scan.close();
boolean valuetest, min, max;
min = (value>0 && value <101);
max = (value >=40 && value <= 50 && value%2 ==1);
valuetest= (max && min);
System.out.println( valuetest);
您的第二个“最大”条件只需要应用于落在 40 到 50 范围内的数字。否则,odd/even 无关紧要。考虑这个版本:
if (value > 0 && value < 40 ||
value >= 40 && value <= 50 && value % 2 == 1 ||
value > 50 && value < 101) {
System.out.println(valuetest);
}
在不同的函数中编写代码,将 return true/false 如下所示:
public bool ResultVal(int value)
{
if(value >=1 && value <= 100)
{
if(value >=40 && value <=50)
{
if(value % 2 == 0)
{
return false;
}
}
return true;
}
return false;
}
并从您的主要方法调用该函数:
public static void main(String[] args)
{
int value;
System.out.println("enter number");
Scanner scan = new Scanner(System.in);
value = scan.nextInt();
System.out.println("Result: " + ResultVal(value));
scan.close();
}
由于“false”列表中的值太少:
boolean valuetest = value >= 1 && value <= 100
&& !List.of(40, 42, 44, 46, 48, 50).contains(value);
可读性很重要。
`
需要打印一个布尔语句 return -'true' 如果输入数字在 1 到 100 范围内,但 'false' 如果它是 40 到 50 之间的偶数。
- 例如,如果您输入 12、45、60 等...您应该得到 true。
- 如果您输入 42、44 或 48,您应该得到 false。
这是我目前的代码, 我被卡住了,因为如果我输入一个低于 40 的数字,例如 12 或高于 50,例如 60,它会打印 'false'。这是我唯一需要帮助修复的部分。在这里编程的初学者,非常感谢任何帮助。
public static void main(String[] args) {
int value;
System.out.println("enter number");
Scanner scan = new Scanner(System.in);
value = scan.nextInt();
scan.close();
boolean valuetest, min, max;
min = (value>0 && value <101);
max = (value >=40 && value <= 50 && value%2 ==1);
valuetest= (max && min);
System.out.println( valuetest);
您的第二个“最大”条件只需要应用于落在 40 到 50 范围内的数字。否则,odd/even 无关紧要。考虑这个版本:
if (value > 0 && value < 40 ||
value >= 40 && value <= 50 && value % 2 == 1 ||
value > 50 && value < 101) {
System.out.println(valuetest);
}
在不同的函数中编写代码,将 return true/false 如下所示:
public bool ResultVal(int value)
{
if(value >=1 && value <= 100)
{
if(value >=40 && value <=50)
{
if(value % 2 == 0)
{
return false;
}
}
return true;
}
return false;
}
并从您的主要方法调用该函数:
public static void main(String[] args)
{
int value;
System.out.println("enter number");
Scanner scan = new Scanner(System.in);
value = scan.nextInt();
System.out.println("Result: " + ResultVal(value));
scan.close();
}
由于“false”列表中的值太少:
boolean valuetest = value >= 1 && value <= 100
&& !List.of(40, 42, 44, 46, 48, 50).contains(value);
可读性很重要。
`