2017-03-03 4 views
-7

Ich bin nicht ganz sicher, wie eine while-Schleife für diese Art von Frage relevant ist. Das Programm muss den Benutzer auffordern, eine Anzahl von Tagen einzugeben, und eine Anzahl von Jahren, die in diesen Tagen enthalten sind, muss zurückgegeben werden. Alles unter 365 gilt immer noch als 1 Jahr. Muss eine while-Schleife verwenden. Beschreibung in Bild. Ich denke, die Idee, nur etwas fehltWhile Schleife zu berechnen Anzahl der Jahre

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

Bitte geben Sie mehr Mühe in die Formatierung Ihres Codes - im Moment ist es sehr schwer zu lesen. Und Sie haben keine klare Beschreibung des Problems gegeben - Sie haben den Code gezeigt, aber nicht gesagt, was passiert, was passiert. Schließlich gibt es keinen Grund, die Anforderungen als ein Bild zu zeigen - sie sind im Grunde nur Text, der in der Frage sein sollte. –

+2

In der "while" -Schleife, nur weiter subtrahieren 365. –

+1

@JohnnyMopp Und Erhöhung der Anzahl der Jahre könnte auch eine Idee sein. ;) –

Antwort

0

Ich bin nicht ganz sicher, wie eine while-Schleife für diese Art von Frage relevant ist.

Ihre Programmanweisungen schlagen vor, dass Sie den Operator modulo nicht verwenden dürfen. Deshalb können Sie als eine der Alternativen eine while-Schleife verwenden. Siehe folgendes Codefragment:

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

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