Java 减法程序中的一个非常简单的错误
在最后一次打印语句时,我在下面的程序中遇到了一个非常简单的错误。但我不知道背后的确切原因。即使逻辑正确,语法也正确 请告诉我错误的确切原因 谢谢Java 减法程序中的一个非常简单的错误,java,Java,在最后一次打印语句时,我在下面的程序中遇到了一个非常简单的错误。但我不知道背后的确切原因。即使逻辑正确,语法也正确 请告诉我错误的确切原因 谢谢 import java.util.Scanner; public class main { public static void main(String args[]) { int c,d; Scanner s = new Scanner(System.in); System.out.pr
import java.util.Scanner;
public class main
{
public static void main(String args[])
{
int c,d;
Scanner s = new Scanner(System.in);
System.out.print("Enter the first number : ");
c = s.nextInt();
System.out.print("Enter the second number : ");
d = s.nextInt();
System.out.println("The sub is : "+ c-d);
}
}
这是因为,您正在尝试进行字符串串联,因为您的第一个操作数是字符串 试试这个:
System.out.println("The sub is : "+ (c-d));
请注意,括号中的(c-d)
编译器会抱怨-
运算符未为string和int定义
参数类型字符串int的运算符-未定义
请注意,Sub是:+c
,结果将是一个字符串。现在
`Sub is:+ c` - d;
^^String - int
这是因为,您正在尝试进行字符串串联,因为您的第一个操作数是字符串 试试这个:
System.out.println("The sub is : "+ (c-d));
请注意,括号中的(c-d)
编译器会抱怨-
运算符未为string和int定义
参数类型字符串int的运算符-未定义
请注意,Sub是:+c
,结果将是一个字符串。现在
`Sub is:+ c` - d;
^^String - int
减法的周围需要括号:
System.out.println("The sub is : " + (c - d));
这是因为在没有括号的情况下,+
和-
运算符具有相同的优先级并从左到右关联。因此,编译器尝试解析它,就好像它是编写的一样:
System.out.println(("The sub is : " + c) - d);
第一部分是可以生成
字符串的表达式。不幸的是,无法将-
运算符应用于左侧为字符串,右侧为int的表达式减法需要括号:
System.out.println("The sub is : " + (c - d));
这是因为在没有括号的情况下,+
和-
运算符具有相同的优先级并从左到右关联。因此,编译器尝试解析它,就好像它是编写的一样:
System.out.println(("The sub is : " + c) - d);
第一部分是可以生成字符串的表达式。不幸的是,这样就无法将-
运算符应用于左侧为字符串而右侧为int
的表达式
System.out.println("The sub is : "+ (c-d));
而不是
System.out.println("The sub is : "+ c-d);
检查它现在是否工作。使用
System.out.println("The sub is : "+ (c-d));
而不是
System.out.println("The sub is : "+ c-d);
然后检查它现在是否工作。将来,如果你要问一个错误,请说错误是什么…@JonSkeet-实际上我会这么做,但我不能从CMD复制任何东西。但我下次会自己写。只需右键单击,选择“标记”,拖动要复制的区域,然后按enter键。谢谢你的提示,兄弟,非常感谢,以前从未注意过。将来,如果你要问错误,请说出错误是什么…@JonSkeet-实际上我会这么做,但我无法从CMD复制任何内容。但我下次会自己写的。只需右键单击,选择“标记”,拖动要复制的区域,然后按enter键。谢谢你的提示兄弟,非常感谢,以前从未注意过它。是的,我知道它在java中用于串联,但为什么在-?@ShivamChopra的情况下它会给出错误,因为当它将前两个操作数与+
串联为-
时,运算符在字符串编译器投诉的情况下不起作用,Insok得到了它。谢谢兄弟。有什么方法可以和你聊天或联系你吗?是的,我知道它在java中用于连接,但为什么在-?@ShivamChopra的情况下它会给出错误,因为它将前两个操作数连接到+
as-
运算符在字符串编译器投诉的情况下不起作用,所以我得到了它。谢谢兄弟。有没有办法和你聊天或者联系你?