效率-处理Java中的单数和复数实例



这是我的作业问题:

编写一个程序,要求输入电影名称和电影长度(以分钟为单位),然后程序打印电影名称和电影长度(以小时和分钟为单位),例如用户输入Finding Nemo104,则程序将输出Finding Nemo运行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 ");}       
    }
}

我认为你的代码很简单,很好地得到你想要的。你的作业完成了。:)但是,如果您想了解日期和时间的更多细节,您可以尝试使用java.util.Date和GregorianCalendar类。

是的,但我想我会这样做的:

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

其实还不错。我能想到的一个小改进是编写一个复数(int number)例程,对于1返回",对于除1以外的任何数字返回"s"。

最新更新