我似乎无法获得双重值来添加我做错了什么?
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并且它说" - "我尝试减去时不是有效的操作。我是非常新的,所以尽量放轻松我
感谢
答案 0 :(得分:2)
这可能有点戏法,但基本上,Java将每个值转换为String
表示,然后将它们作为单个String
如果R
= 5
且T
= 1
,那么
System.out.println("The sum of R and T=" +R + +T);
会输出类似......
的内容The sum of R and T=51
相反,您需要先将计算包装在优先级组中,以便在转换为String
之前对其进行处理,例如...
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));
括号允许确保在整体应用之前首先执行操作的结果......
那是"The sum of R and T=" + (R + T)
Java首先重新启动R + T
然后将结果连接到前面的String
值,形成最终结果......
答案 1 :(得分:1)
它将值连接到输出字符串。不进行任何计算。
如果您想要执行计算,则必须用括号括起来:
System.out.println("The sum of R and T=" + (R + T));
答案 2 :(得分:1)
问题是您要将它们添加到String中。 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));
答案 3 :(得分:1)
编译器认为您在尝试添加双精度时尝试组合Strings。你需要做的是在括号内放置括号,这样就知道它是关节的。像这样:
//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));
括号和主String之间的加号告诉编译器将arthemtic的结果作为String添加到String中。您也不需要在正数前加上加号。编译器假定没有符号的变量是正的。
答案 4 :(得分:0)
这是因为你实际上没有做数学+
符号只是作为字符串连接
您获得5.05.0
总和的原因是因为它只是添加了R和T的String
值。对于接下来的两个-
和*
是未定义类型String
答案 5 :(得分: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
答案 6 :(得分:0)
它只是将值连接到输出字符串。您可以尝试将结果存储在变量中,然后打印该变量,但这并不意味着您在打印时无法执行计算。 尝试在括号中执行操作。
请在提问时添加更多细节。
答案 7 :(得分:0)
简化所有答案。 System.out.println(" R和T之和=" + sum); 因为您要么将总和保存到变量。也替换其他人。 您的错误是因为编译器误将您的变量误认为字符串,其中+表示连接但是 - 无效。
答案 8 :(得分:0)
这是一个工作解决方案,代码中的更改最少。还有其他人指出当你做任何像String(x)+(其他一些对象)的事情时,java会在后面的对象上调用toString方法,然后将它与String x连接起来。 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=" + sum);
System.out.println("The difference of R and T=" + difference);
System.out.println("The product of R and T=" + product);
}
} `