Эффективность - обработка единственного и множественного числа экземпляров в Java - PullRequest
1 голос
/ 09 августа 2011

Вот мой домашний вопрос:

Напишите программу, которая запрашивает название фильма и длину фильма в минутах, а затем программа печатает название фильма и его длину в часах и минутах, например, пользователь вводит Поиск Nemo и 104 , после чего программа выдаст Поиск 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 ");}       
    }
}

Ответы [ 3 ]

3 голосов
/ 09 августа 2011

Я думаю, ваш код прост и хорош, чтобы получить то, что вы хотите. Ваша домашняя работа завершена. :) Однако, если вы хотите получить больше информации о дате и времени, вы можете попробовать поиграть с классами java.util.Date и GregorianCalendar.

1 голос
/ 09 августа 2011

Да, но я думаю, что сделал бы что-то подобное:

String hunit = hours == 1 ? " hour" : " hours";
String munit = minutes == 1 ? " minute" : " minutes";
System.out.println(movie + " runs for " + hours + hunit + " and " + minutes + munit);
0 голосов
/ 09 августа 2011

на самом деле это довольно хорошо.Одно небольшое улучшение, которое я могу придумать, - это кодирование процедуры множественного числа (целое число), которая возвращает «» для 1 и «s» для любого числа, отличного от 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...