我不太确定while循环如何与这类问题相关。该程序必须要求用户输入若干天,并且必须返回包含在这些天数内的若干年。 365以下的任何东西仍被视为1年。必须使用while循环。图片说明。认为我有这个想法,只是遗漏了一些东西
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 !!");
}
}
答案 0 :(得分:0)
我不太确定while循环是如何与这种类型相关的 问题
您的计划说明建议您不得使用modulo
运营商。这就是为什么作为替代方案之一,您可以使用while
循环。请参阅以下代码段:
numberOfYears = 1;
while(numberOfDays >= 365){
numberOfDays = numberOfDays - 365;
numberOfYears++;
}
System.out.println("Number of years: " + numberOfYears);