Java 编程新手,双打不会增加

Java 编程新手,双打不会增加,java,integer,double,Java,Integer,Double,我似乎无法让双值相加我做错了什么 import java.util.Scanner; public class Practice_2_2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); //Values System.out.println("Enter the two numbers"); double R = inpu

我似乎无法让双值相加我做错了什么

import java.util.Scanner;

public class Practice_2_2
{
   public static void main(String[] args)
   {
      Scanner input = new Scanner(System.in);

     //Values
     System.out.println("Enter the two numbers");
     double R = input.nextDouble();
     double T = input.nextDouble();

     //Calculate sum
     double sum = (R + T);

     //Calculate difference
     double difference = (R - T);

     //Calculate product
     double product = (R * T);

     //Display results
     System.out.println("The sum of R and T=" +R + +T);
     System.out.println("The difference of R and T=" +R - +T);
     System.out.println("The product of R and T=" +R * +T);
   }
} `
当我把5作为数字加起来时,它告诉我总和是5.05.0,当我尝试减法时,它说“-”不是一个有效的运算。我是个新手,所以试着对我放松点


谢谢

它将值连接到输出字符串。不执行任何计算

如果要执行计算,必须用括号括起来:

System.out.println("The sum of R and T=" + (R + T));

它将值连接到输出字符串。不执行任何计算

如果要执行计算,必须用括号括起来:

System.out.println("The sum of R and T=" + (R + T));

这是因为您实际上并没有做数学运算,
+
符号只是充当字符串连接


之所以将总和设为
5.05.0
,是因为它只是将
字符串
的R和T值相加。对于接下来的两个
-
*
没有为类型
字符串

定义,这是因为您实际上没有做数学运算,
+
符号只是充当字符串串联


之所以将总和设为
5.05.0
,是因为它只是将
字符串
的R和T值相加。对于接下来的两个
-
*
类型,没有为
字符串

定义,而应该使用下面的方法来计算值

 double R=5.0;
 double T=2.0;
 System.out.println("The sum of R and T=" +(R + T));
 System.out.println("The difference of R and T=" +(R - T));
 System.out.println("The product of R and T=" +(R * T));
输出:

 The sum of R and T=7.0
 The difference of R and T=3.0
 The product of R and T=10.0

您应该使用以下方法来计算值,而不是您尝试过的方法

 double R=5.0;
 double T=2.0;
 System.out.println("The sum of R and T=" +(R + T));
 System.out.println("The difference of R and T=" +(R - T));
 System.out.println("The product of R and T=" +(R * T));
输出:

 The sum of R and T=7.0
 The difference of R and T=3.0
 The product of R and T=10.0

问题是您正在将它们添加到字符串中。Java将其视为:

System.out.println( ( "The sum of R and T=" +R ) + +T);
将计算结果追加到字符串时,应手动使用括号更正顺序:

System.out.println("The sum of R and T=" + (R + +T));
System.out.println("The difference of R and T=" + (R - +T)); 
System.out.println("The product of R and T=" + (R * +T));
此外,发生错误的原因是这不是一个有效的操作:

"The difference of R and T=5.0" - 5.0
此外,首先,您不必在值前面使用
+
使其为正值。如果您想这样做,您的第一个
+
实际上是在串联中消耗的:

System.out.println("The sum of R and T=" + (+R + +T));

问题是您正在将它们添加到字符串中。Java将其视为:

System.out.println( ( "The sum of R and T=" +R ) + +T);
将计算结果追加到字符串时,应手动使用括号更正顺序:

System.out.println("The sum of R and T=" + (R + +T));
System.out.println("The difference of R and T=" + (R - +T)); 
System.out.println("The product of R and T=" + (R * +T));
此外,发生错误的原因是这不是一个有效的操作:

"The difference of R and T=5.0" - 5.0
此外,首先,您不必在值前面使用
+
使其为正值。如果您想这样做,您的第一个
+
实际上是在串联中消耗的:

System.out.println("The sum of R and T=" + (+R + +T));

当您尝试添加双精度时,编译器认为您正在尝试组合字符串。你需要做的是把圆括号放在阿米蒂克的周围,这样它就知道它是仿地球的。像这样:

//Display results
System.out.println("The sum of R and T=" + (R + T));
System.out.println("The difference of R and T=" + (R - T));
System.out.println("The product of R and T=" + (R * T));

括号和主字符串之间的加号告诉编译器将arthemtic的结果作为字符串添加到字符串中。你也不需要在正数前加上加号。编译器假定没有符号的变量为正。

当您尝试添加双精度时,编译器认为您正在尝试组合字符串。你需要做的是把圆括号放在阿米蒂克的周围,这样它就知道它是仿地球的。像这样:

//Display results
System.out.println("The sum of R and T=" + (R + T));
System.out.println("The difference of R and T=" + (R - T));
System.out.println("The product of R and T=" + (R * T));

括号和主字符串之间的加号告诉编译器将arthemtic的结果作为字符串添加到字符串中。你也不需要在正数前加上加号。编译器假定没有符号的变量是正的。

这可能有点小技巧,但基本上,Java将每个值转换为它的
字符串
表示形式,然后将它们作为单个
字符串
相加

如果
R
=
5
T
=
1
,则

System.out.println("The sum of R and T=" +R + +T);
将输出类似于

The sum of R and T=51
相反,您需要首先将计算包装在优先级组中,以便在转换为
字符串之前对其进行处理,例如

System.out.println("The sum of R and T=" + (R + T));
不会输出更像

The sum of R and T=6
其他语句的相同组

System.out.println("The difference of R and T=" + (R - T));
System.out.println("The product of R and T=" + (R * T));
括号允许确保在将操作结果作为一个整体应用之前,首先执行操作结果


也就是说,对于
“R和T的总和=”+(R+T)
Java将首先解析
R+T
,然后将结果关联到前面的
字符串
值,形成最终结果…

这可能有点小技巧,但基本上,Java正在将每个值转换为它的
字符串
表示形式,然后将它们作为单个
字符串

如果
R
=
5
T
=
1
,则

System.out.println("The sum of R and T=" +R + +T);
将输出类似于

The sum of R and T=51
相反,您需要首先将计算包装在优先级组中,以便在转换为
字符串之前对其进行处理,例如

System.out.println("The sum of R and T=" + (R + T));
不会输出更像

The sum of R and T=6
其他语句的相同组

System.out.println("The difference of R and T=" + (R - T));
System.out.println("The product of R and T=" + (R * T));
括号允许确保在将操作结果作为一个整体应用之前,首先执行操作结果


也就是说,对于
“R和T的总和=”+(R+T)
Java将首先解析
R+T
,然后将该结果关联到前面的
字符串
值,形成最终结果…

它只是将值连接到输出字符串。您可以尝试将结果存储在变量中,然后打印该变量,但这并不意味着您在打印时无法执行计算。 尝试执行括号中的操作


请在提问时添加更多细节。

它只是将值连接到输出字符串。您可以尝试将结果存储在变量中,然后打印该变量,但这并不意味着您在打印时无法执行计算。 尝试执行括号中的操作

请在提问时添加更多详细信息。