2017-10-12 55 views
-1

你會如何得到它要求你輸入Y或N?我一直在爲此工作幾天。我是Java編程的新手,我正在接受AP計算機科學原理。感謝您的幫助,如果您能留下關於如何改進的提示,那將非常有幫助和讚賞。如何使這個Java代碼循環

import java.util.Scanner; 
public class Project_3_3 { 

public static void main(String[] args) 
{ 
    int year; 
    boolean leap = false, num1; 
    String answer = "y"; 
    Scanner Scan = new Scanner(System.in); 

    while (answer.equals("y")) 
    { 

     System.out.println("Enter in a year greater or equal to 1582 "); 
     year = Scan.nextInt(); 

     if (year>1582) { 
      if ((year % 400==0 && year %100 !=0) || (year % 4 ==0 && year % 
      `enter code here`400==0) 
       || year %4 ==0 && year % 100 !=0) 
       System.out.println(year + " is a leap year"); 
      else 
       System.out.println(year + " is not a leap year"); 

      System.out.println(); 
      System.out.println("Test another year Y/N"); 
      answer = Scan.nextLine(); 
     } 
    } 
} 

回答

0

聲明answer = Scan.nextLine();前右只需添加一個額外的語句Scan.nextLine();。您的程序在沒有在Y/N上輸入用戶輸入的情況下退出的原因是year = Scan.nextInt();期間輸入的新行字符被answer = Scan.nextLine();消耗。

+0

Thx這麼多:)它的工作! –

+0

@NealLemon,歡迎您。如果這篇文章回答了您的問題,您可以將其標記爲「答案」。 – VHS