1

我正在尝试编译以下代码,但我不断收到找不到符号错误。赋值需要使用getInput方法,该方法不需要参数并且也不返回任何内容,它的主要功能是读取输入并显示它。所以我试图改变扫描仪变量inputinputString的范围,这样每当调用getInput时,我就不必将它们传递给它。

import java.util.Scanner;

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

      input.useDelimeter("\\n");

      System.out.print("Enter an integer: ");
      getInput();
      System.out.print("Enter a float: ");
      getInput();
      System.out.print("Enter a string: ");
      getInput();      
   }
    public static void getInput()
    {                 
      inputString = input.next();
      System.out.println("You have entered: " + inputString + ".");
    }
}

或者如果我带上input.useDelmeter("\n"); 范围之外,然后我得到另外 2 个错误 “标识符”预期和此特定行的类型非法开始。修改后的代码如上所示,除了:

   public static Scanner input = new Scanner(System.in);
   public static input.useDelimeter("\\n");
   public static String inputString;
   public static void main(String[] args)
   { ....  
4

3 回答 3

3

你拼错Delimiter了,也许吧?Adelimeter将是在咸牛肉放入三明治之前对其进行测量的东西。

于 2013-09-22T02:18:34.533 回答
0

而不是input.useDelimeter("\\n");input.useDelimiter("\\n");
那应该对你有用。

于 2013-09-22T03:30:07.137 回答
0

您的代码段似乎没有问题。


至于建议的修改,您显然误解了它的意思public static whatever。您只能使用它来声明具有类范围的变量和方法。你不能做任何其他事情。如果那是您真正想要做的,请放入一个静态初始化块。放这个:

static {
    input.useDelimiter("\\n");
}
于 2013-09-22T02:18:21.360 回答