我在用条件运算符 (?:) 比较两个数字时遇到问题
I am getting a problem comparing two numbers with the conditional operator (?:)
public class 个问题 {
public static void main(String[] args)
{
Scanner userInput = new Scanner (System.in);
System.out.println("Enter two numbers: ");
int num1 = userInput.nextInt() ;
int num2 = userInput.nextInt() ;
(num1==num2) ? System.out.println("Same"): System.out.println("Not same"); // i am getting an error in that line
}
}
如何将用户输入的这两个数字与条件运算符进行比较?
您应该将字符串响应分配给具有类似逻辑的三元表达式,然后打印该消息:
int num1 = userInput.nextInt();
int num2 = userInput.nextInt();
String msg = num1 == num2 ? "Same" : "Not same";
System.out.println(msg);
试试这样的方法:
System.out.println((num1 == num2) ? "Same" : "Not same");
Java 将程序的一些元素分成 语句 和 表达式 。 语句是做某事的指令,表达式是产生某些值的代码。可以写一个表达式忽略值(Math.sin(0);
),称为表达式语句,但是语句本身没有值,不能做成表达式.
conditional/ternary 运算符 ?:
仅适用于 表达式 ;也就是说,它不是像 if
这样的通用流量控制工具,而是只能用于 select 两个备用值之间。由于System.out.println
returns void(无值),只能作为语句调用,不能作为三元来使用。
您始终可以在完全不同的语句之间使用 if
到 select(通常并且最好是 块语句 );如果要将条件运算符与 System.out.println
一起使用,则必须将其用于 select 一个要作为参数传递给它的表达式:
System.out.println(condition ? "true" : "false"); // an expression of type String
public class 个问题 {
public static void main(String[] args)
{
Scanner userInput = new Scanner (System.in);
System.out.println("Enter two numbers: ");
int num1 = userInput.nextInt() ;
int num2 = userInput.nextInt() ;
(num1==num2) ? System.out.println("Same"): System.out.println("Not same"); // i am getting an error in that line
}
}
如何将用户输入的这两个数字与条件运算符进行比较?
您应该将字符串响应分配给具有类似逻辑的三元表达式,然后打印该消息:
int num1 = userInput.nextInt();
int num2 = userInput.nextInt();
String msg = num1 == num2 ? "Same" : "Not same";
System.out.println(msg);
试试这样的方法:
System.out.println((num1 == num2) ? "Same" : "Not same");
Java 将程序的一些元素分成 语句 和 表达式 。 语句是做某事的指令,表达式是产生某些值的代码。可以写一个表达式忽略值(Math.sin(0);
),称为表达式语句,但是语句本身没有值,不能做成表达式.
conditional/ternary 运算符 ?:
仅适用于 表达式 ;也就是说,它不是像 if
这样的通用流量控制工具,而是只能用于 select 两个备用值之间。由于System.out.println
returns void(无值),只能作为语句调用,不能作为三元来使用。
您始终可以在完全不同的语句之间使用 if
到 select(通常并且最好是 块语句 );如果要将条件运算符与 System.out.println
一起使用,则必须将其用于 select 一个要作为参数传递给它的表达式:
System.out.println(condition ? "true" : "false"); // an expression of type String