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.useDelimeter("\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 に答える