班级项目自动评分员说“标准输出不是预期的”

时间:2014-09-01 23:15:38

标签: java

我是java的新手,我正在为我的课做一个项目,但我一直收到错误。

  

项目

     

编写一个应用程序,该应用程序读取表示小时,分钟和秒的持续时间的值,然后打印等效的总秒数。 (例如,1小时28分42秒相当于5322秒。)

     

提供标签,标签和输出:您的代码应使用以下提示:"小时:","分钟:",&#34 ;秒:"。提示不应强制用户在下一行键入所需的输入。在所有输入之后,输出应该包含一个由整数(总秒数)组成的行,后跟一个空格,后跟一个单位的标签:秒。例如:

hours: 2
minutes: 10
seconds: 7
7807 seconds 
     

名称规范:您的应用程序类应称为Seconds

这些是MyProgrammingLab不断给我的错误:

pic

pic2

我的代码:

import java.util.Scanner;

public class Seconds {

    public static void main (String[] args){

        Scanner stdin = new Scanner(System.in);
        int hours;
        System.out.print("hours: ");
        hours = stdin.nextInt();
        int minutes;
        System.out.print("minutes: ");
        minutes = stdin.nextInt();
        int seconds;
        System.out.print("seconds: ");
        seconds = stdin.nextInt();
        int hourSeconds = (hours * 60) * 60;
        int minuteSeconds = (minutes * 60);
        int secondsTotal = hourSeconds + minuteSeconds + seconds;
        System.out.println(secondsTotal + " seconds");

    }
                            }

2 个答案:

答案 0 :(得分:1)

您的程序默默地希望用户键入3个号码,而不会提示他们输入的内容。然后打印出他们输入的内容。

你应该做的是打印"hours: "提示,然后读一个数字。一旦你得到它,打印"minutes: "提示,然后再等一下。按照"seconds: "提示进行操作。一旦你获得了所有三个数字,只有然后你应该执行计算并打印最后一行。

如果有帮助,可以在此处显示节目的输出,并明确指出用户的击键。

hours: 2Enter
minutes: 10Enter
seconds: 7Enter
7807 seconds

注意 not 的预期输出如何包含输入的数字。不要打印出数字!

答案 1 :(得分:1)

作为提示,请尝试:

...
System.out.print("hours: ");
int hours = stdin.nextInt();
...

检查printprintln

之间的区别

另请注意,您只需打印提示,因此您只需打印:"小时:"。

做几分钟和几秒钟。