效率 - 在Java中处理单个和多个实例

时间:2011-08-09 05:22:20

标签: java selection

这是我的作业问题:

  

编写一个程序,在几分钟内询问电影名称和电影的长度,然后程序打印电影的名称及其长度,以小时和分钟为单位,例如:用户输入查找海底总动员 104 ,然后程序将输出海底总动员运行1小时44分钟

我已尽最大努力完成了这个问题,如下所示,但我想知道是否有更有效的方法来布置代码或编程使其​​工作。它工作顺便说一句,只是想知道是否有更好的方法来编写代码?

import java.util.Scanner;

public class Film 
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter Movie Name: ");
        String movie = input.nextLine();
        System.out.println("Enter Movie Length (minutes): ");
        int totalmins = input.nextInt();
        int hours = totalmins/60;
        int minutes = totalmins%60;
        if(hours==1) {System.out.print(movie + " runs for " + hours + " hour and ");}
        else {System.out.print(movie + " runs for " + hours + " hours and ");}
        if(minutes==1) {System.out.println(minutes + " minute ");}
        else {System.out.println(minutes + " minutes ");}       
    }
}

3 个答案:

答案 0 :(得分:3)

我认为你的代码很简单,很容易得到你想要的东西。你的作业已经完成。 :) 但是,如果您想了解有关日期和时间的更多详细信息,可以尝试使用java.util.Date和GregorianCalendar类。

答案 1 :(得分:1)

是的,但我想我会做那样的事情:

String hunit = hours == 1 ? " hour" : " hours";
String munit = minutes == 1 ? " minute" : " minutes";
System.out.println(movie + " runs for " + hours + hunit + " and " + minutes + munit);

答案 2 :(得分:0)

实际上它非常好。我能想到的一个小改进就是编写一个复数(整数)例程,对于1以外的任何数字都返回“”1和“s”。