而Loop则计算年数

时间:2017-03-03 17:38:52

标签: java while-loop

我不太确定while循环如何与这类问题相关。该程序必须要求用户输入若干天,并且必须返回包含在这些天数内的若干年。 365以下的任何东西仍被视为1年。必须使用while循环。图片说明。认为我有这个想法,只是遗漏了一些东西

Program Requirements

import java.util.Scanner;

public class A2_Q1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Enter a positive number of days n: ");
        int numberOfDays = keyboard.nextInt();
        int numberOfYears = 0;

        if (numberOfDays > 0 && numberOfDays < 365){
            numberOfYears = 1;
            System.out.printf("Number of years: " + numberOfYears );
        }

        else {

            while(numberOfDays >= 365){

                System.out.printf("Number of years: " + numberOfYears);

            }
         }
         System.out.println("Thank you for using Zach's program and goodbye !!");

    }

}

1 个答案:

答案 0 :(得分:0)

  

我不太确定while循环是如何与这种类型相关的   问题

您的计划说明建议您不得使用modulo运营商。这就是为什么作为替代方案之一,您可以使用while循环。请参阅以下代码段:

numberOfYears = 1;
while(numberOfDays >= 365){
   numberOfDays = numberOfDays - 365;
   numberOfYears++;
}

System.out.println("Number of years: " + numberOfYears);