2017-10-12 56 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