0

我这里有个小问题。我们被告知要编写一些简单的东西,但我不能用 if 语句完美地运行代码。使用 while 语句,我的代码可以完美运行,但老师坚持不使用它。while 语句是一个循环,对吗?他说“不要使用循环!”。

import java.util.Scanner;
public class Flight
{
    public static void main (String [] args)
    {
        // Naming a scanner //
        Scanner scan = new Scanner(System.in);

        // Prints text //
        System.out.println("Enter flight day: ");
        // Data insert //
        int flyDay = scan.nextInt();

        System.out.println("Enter flight hour: ");
        int flyHour = scan.nextInt();

        System.out.println("Enter flight minute: ");
        int flyMinute = scan.nextInt();

        //// Length ///
        System.out.println("Enter flight's length in hours:");
        int departureHour = scan.nextInt();

        System.out.println("Enter flight's length in minutes:");
        int departureMin = scan.nextInt();

        // While minute is beyond 60 (including) //
        departureMin += flyMinute;
        while(departureMin >= 60) {
            departureHour++;
            departureMin-=60;
        }

        // While hour is beyond 24 (including) //
        departureHour += flyHour;
        while(departureHour >= 24)
        {
            flyDay++;
            departureHour-=24;
        }

        // While day is beyond 8 (including) //
        while(flyDay >=8)
        flyDay-=7;

        // Prints arrival time according to the data inserted above //
        System.out.println("the supposed arrival time is: day- " + flyDay + ", hour- " + departureHour + ", minute- " + departureMin);
    }
}

如果我将 while 语句切换为 if 语句,代码将无法正常工作。有什么帮助吗?

4

1 回答 1

4

你的老师是对的,在这里使用循环是不合适的,即使它有效。

您的老师可能希望您使用余数 ( %)(通常称为“模数”)运算符和除法 ( /)运算符。

于 2013-04-28T14:10:35.580 回答