如何将exp转换为javaexp
我有作业 我不知道如何将表达式转换成Java。 有时我不得不加上括号,解决方案就会改变, 我不确定我的代码是否正确 我写了这段代码:如何将exp转换为javaexp,java,Java,我有作业 我不知道如何将表达式转换成Java。 有时我不得不加上括号,解决方案就会改变, 我不确定我的代码是否正确 我写了这段代码: double number1 = 10; double number2 = 20; double number3 = 30; int sum = (int) (number1 + number2 + number3); double average = sum / 3; int product = (int) (number1 * number2 * num
double number1 = 10;
double number2 = 20;
double number3 = 30;
int sum = (int) (number1 + number2 + number3);
double average = sum / 3;
int product = (int) (number1 * number2 * number3);
double exp = (10.5 / number3) + (5 + number1 * number2) / (number3 - number1) * 12;
System.out.println("The sum is: " + sum);
System.out.println("The product is: " + product);
System.out.println("The average is: " + average);
System.out.println("The expression result is: " + exp);
求和为双倍。无需将其转换为整数。您将失去精度
int product = (int) (number1 * number2 * number3);
同样的道理也适用于这里
其余的看起来不错。我只看到一个问题:
double average = sum / 3;
是整数除法,对于某些输入将失败(对于您的数字仍然有效),但应如下所示:
double average = sum / 3.0;
当然,您可以将
sum
的类型更改为double
thx,以供大家帮助我
我解决这个问题
package home1;
public class Arithmetic {
public static void main(String[] args) {
int number1 = 10;
int number2 = 15;
int number3 = 35;
int sum = (number1 + number2 + number3);
double average = sum / 3.0;
int product = (number1 * number2 * number3);
double exp = (10.5 / number3) + (5 + number1 * number2) / (number3 - number1) * 12;
System.out.println("The sum is: " + sum);
System.out.println("The product is: " + product);
System.out.println("The average is: " + average);
System.out.println("The expression result is: " + exp);
}
}
首先,我不明白为什么要将数字声明为双精度数,然后将它们赋给INT值。您正在丢失任何十进制精度,因为它只会保留整数。我觉得这很好,您的输入、输出和预期结果是什么?实际上是您的exp-ist计算correct@ergonaut我认为你是对的。他的电话号码是错的。我看到的唯一问题是。选角的材料不应该改变结果。我认为你的数字应该是10、15、35或其他,因为它们与你的前3个陈述不匹配。这并不能解决他的问题。尽管这是正确的。计算exp的两个表达式都是same@ThanigaiArasu对的原因/绑定比+@Thanigai强..捕捉得好。我认为这会有所不同。编辑了我的答案。结果是一个整数。。。所以这里没问题。至少在这方面case@haywire就像我说的,它对这个数字有效,但最终对其他输入无效。所以,这根本不是他的问题的答案。只是一个已经在文章中提到的提示comments@haywire这是唯一的问题,所以这应该修复他的代码,对吗?评论中也没有提到它。@haywire“首先,我不明白为什么你要将数字声明为双精度,然后将它们赋给一个INT值。你正在失去任何十进制精度,因为它只会保留INT。”我看不到关于整数除法的任何内容,你可能是这样吗?
package home1;
public class Arithmetic {
public static void main(String[] args) {
int number1 = 10;
int number2 = 15;
int number3 = 35;
int sum = (number1 + number2 + number3);
double average = sum / 3.0;
int product = (number1 * number2 * number3);
double exp = (10.5 / number3) + (5 + number1 * number2) / (number3 - number1) * 12;
System.out.println("The sum is: " + sum);
System.out.println("The product is: " + product);
System.out.println("The average is: " + average);
System.out.println("The expression result is: " + exp);
}
}