计算两个整数的平均值并在java中转换为double

时间:2014-10-31 13:55:04

标签: java int double

我正在学习如何使用Java和我的课程作业我被要求构建一个应用程序,该应用程序将读入考试标记和课程作业标记,然后打印到课程作业和考试标记的平均值的小数点后1位。当我将它提交给课程作业提交系统时,它说它不正确。

它要求的答案是我的代码产生的答案(ex = 71 cw = 40 mark = 55.5) 但出于某种原因,当我提交时它会说明这一点:

-#### << Differences between expected (<) your answer (>) >> ------------
1c1
< ex= 91 cw = 80 mark = 85.5
---
> ex = 71 cw = 40 mark = 55.5
-------------------------------------------------------------------------

[S] Sorry exercise ci101/1.2 was not correct.
Check the above output for why this attempt failed

当我将ex更改为91并将cw更改为80时,它会要求&gt; ex = 71 cw = 40 mark = 55.5。

class Main
{ 
  public static void main( String args[] )
  {
    int ExamMark=71;                
    int CourseworkMark=40;

    double cost = (double)(ExamMark + CourseworkMark) / 2; 

    System.out.printf("ex = " + ExamMark + " cw = " + CourseworkMark + " mark = " + cost); 
    System.out.println();

  }

}

3 个答案:

答案 0 :(得分:1)

你可以制作2-&gt; 2.0会使结果加倍。

double cost = (ExamMark + CourseworkMark) / 2.0; 

答案 1 :(得分:0)

你需要产生两个答案吗?先91:80:85.5然后71:40:55.5?

另外,我注意到你并没有完全匹配预期答案的空格(空格键)。它可能或不重要。

答案 2 :(得分:0)

作业说明&#34;读入考试成绩和课程作业标记&#34;但是你在标记中建立了常量,而不是阅读它们。

课程作业提交系统可能正在运行您的程序,其中包含两个不同的输入,以确保您真正阅读它们。如果您构建了任一输入,它将报告与其他输入的运行不匹配。这就是为什么报告的错误总是变为您未构建的输入的原因。

您需要修改程序以使用它可能来自System.in的标记。仔细查看作业,看看它对输入源和格式的说法。