2013-09-22 108 views
1

我試圖編譯下面的代碼,但我不斷收到找不到符號錯誤。分配需要使用getInput方法的其中不需要參數和返回什麼以及,其主要funcion是讀取輸入和顯示。所以,我試圖改變掃描儀可變輸入範圍inputString這樣,每當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) 
    { .... 
+0

什麼是無法找到的符號? – Femaref

+0

錯誤如下所示: 錯誤:無法找到符號 input.useDelimeter(「\\ n」); ^ 符號:方法useDelimeter(字符串) 位置:可變輸入類型掃描儀 1錯誤 – VictorN

回答

0

您的代碼段似乎沒有問題。


至於建議的修改,你顯然誤解了public static whatever的含義。你只能用它來聲明具有類作用域的變量和方法。你什麼也做不了。如果這就是你真正想做的事,放入一個靜態初始化塊。只是把這個:

static { 
    input.useDelimiter("\\n"); 
} 
+0

我想我找出了我搞砸了。謝謝你! 至於你說的靜態東西,我不確定你的意思。我的理解是靜態的,僅僅意味着在類實例化之前創建的任何東西都會被創建。 – VictorN

3

你拼寫Delimiter錯了,也許? A delimeter可能會在醃製三明治之前測量鹹牛肉。

+1

Omg ..問題解決了。謝謝。我以爲我糾正了這一點,但顯然我沒有。 – VictorN

+0

它總是最愚蠢的東西。很高興這是它! :-) – Tenner

+0

如果你有機會,請標記這個答案(或另一個,如果它對你更好),如接受。 – Tenner

0

而不是input.useDelimeter("\\n");input.useDelimiter("\\n");
這應該適合你。