• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

询问整数作为输入并退出如果q但如果任何其他字母再试

java 来源:Tathan Thacker 4次浏览

我正在研究一个程序,它会询问用户一个整数,然后另一个,并把它们作为图点。它会告诉他们之间的距离。用户必须输入一个整数或按“Q”退出。如果是其他内容(不是整数或字母“Q”),它会告诉他们这是不正确的,请再试一次。我认为这是我可以做到的,但它会返回错误cannot find symbol。帮助非常感谢!询问整数作为输入并退出如果q但如果任何其他字母再试

import java.util.Scanner; 

public class PointCheck{ 

    public static void main(String[] args){ 

     try { 

     System.out.println("Welcome"); 
     System.out.println("To quit at anytime please type \"Q\". Enter point:"); 

     char Q = 'Q'; 
     char q = 'q'; 
     Scanner scan = new Scanner (System.in); 
      input = scan.next(); 

     while (input.hasNext()) { 
      if (input.hasNextInt()) { 
       System.out.println("Int input"); 
      } 
      else if (input.equals("Q")) { 
       System.out.println("Exiting"); 

      } 
      /*else { 
       System.out.println("You did not enter a valid value. Please enter a number or \"Q\" to quit."); 
      }*/ 

     } 

     } 

     catch(Exception e){ 
     System.out.println("Exiting Program."); 

     } 

    } 

} 

如果我不注释掉最后一个else语句,它只是默认为那个,并且永远循环我的错误信息。


===========解决方案如下:

我使你的代码进行一些修改,希望它能帮助:)

public class PointCheck { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    try { 

     System.out.println("Welcome"); 
     System.out.println("To quit at anytime please type \"Q\". Enter point:"); 
     Scanner scan = new Scanner(System.in); 

     while (scan.hasNext()) { 
      if (scan.hasNextInt()) { 
       System.out.println("Int input" + scan.nextInt()); 
      } else { 
       String input = scan.next(); 
       if (input.equalsIgnoreCase("Q")){ 
        System.out.println("Exiting"); 
        break; 

       }else { 
        System.out.println("You did not enter a valid value. Please enter a number or \"Q\" to quit."); 
       } 
      } 

     } 

    } catch (Exception e) { 
     System.out.println("Exiting Program."); 

    } 
} 

} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)