2017-03-03 97 views
-7

我不太確定while循環是如何與這類問題相關的。該程序必須要求用戶輸入天數,並且必須返回包含在這些天數中的若干年。 365以下的任何東西仍被視爲1年。必須使用一個while循環。圖片中的描述。我想我有這個想法,只是缺少我不太清楚while循環是如何相關的這種類型的 問題事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 !!"); 

    } 

} 
+4

請花更多精力來格式化您的代碼 - 目前很難閱讀。你還沒有清楚地描述你正面臨的問題 - 你已經展示了代碼,但沒有告訴我們發生什麼事情和將要發生的事情。最後,沒有理由將需求作爲一張圖片展示 - 它們基本上只是文本,應該是問題所在。 –

+2

在'while'循環中,只是不斷減去365. –

+1

@JohnnyMopp並且增加年數也可能是一個想法。 ;) –

回答

0

程序說明建議您不允許使用modulo運算符。這就是爲什麼作爲其中一種選擇,您可以使用while循環。請參閱以下代碼片段:

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

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