getOption无效,常量错误

时间:2014-07-13 02:00:29

标签: java methods printing shape

我正在尝试继续使用我的代码,我收到的错误是我不知道如何修复。 代码达到要求我选择的程度,然后当我输入时,我希望它能打印出来,这就是字母S'或者'这是字母T'基于用户输入的输入。请记住两件事。 1)我需要使用" char getOption()"方法和2)我是新手,所以请耐心等待。我得到的错误是:

提前致谢。

import java.util.Scanner;

public class shapes {

   public static void main(String[] args) {
      Scanner input = new Scanner(System.in);

      displayWelcome();
      displayMenu();
      char resp = getOption();  
         if( resp == 'S' )            
            System.out.println("This is letter S");

         else if( resp == 'T' )
            System.out.println("This is letter T");

   }      

   public static void displayWelcome() {

      System.out.println("WELCOME TO THE SHAPE PRINTER!");
      System.out.println("-----------------------------");

   }


   public static void displayMenu() {

      System.out.println("Options: ");
      System.out.println("  S)quare");
      System.out.println("  H) Shape");
      System.out.println("  T)riangle"); 
      System.out.println("  X) Shape");
      System.out.println("  Q)uit");

   }


   public static char getOption() {

      Scanner input = new Scanner(System.in);

         input.nextInt();
         char c = input.next().charAt(0);
            return c;

   }      

}

//线程中的异常" main" java.util.InputMismatchException //在java.util.Scanner.throwFor(Scanner.java:864)
//在java.util.Scanner.next(Scanner.java:1485)
//在java.util.Scanner.nextInt(Scanner.java:2117)
//在java.util.Scanner.nextInt(Scanner.java:2076)
//在shapes.getOption(shapes.java:60)
//在shapes.main(shapes.java:27)

1 个答案:

答案 0 :(得分:0)

似乎没有真正的需要

input.nextInt();
你的代码中的

。因此,代码执行将请求两个用户输入而不是一个。只需删除它就可以了。