Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将exp转换为javaexp_Java - Fatal编程技术网

如何将exp转换为javaexp

如何将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

我有作业

我不知道如何将表达式转换成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 * 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);
    }
}