这是我的作业问题:
编写一个程序,要求输入电影名称和电影长度(以分钟为单位),然后程序打印电影名称和电影长度(以小时和分钟为单位),例如用户输入Finding Nemo和104,则程序将输出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"。