簡體   English   中英

編譯錯誤:預期為標識符

[英]compilation error: identifier expected

import java.io.*;

public class details
{
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("What is your name?");
    String name = in.readLine(); ;
    System.out.println("Hello " + name);
}

我的這段代碼的問題是,我在編譯時會收到“期望的標識符” ..有人可以幫我做什么嗎? 或更好的是,誰能提供使用BufferedReader提示名稱,地址和年齡的代碼,然后最終將顯示輸出。

謝謝!!

您尚未在代碼周圍定義方法。

import java.io.*;

public class details
{
    public static void main( String[] args )
    {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("What is your name?");
        String name = in.readLine(); ;
        System.out.println("Hello " + name);
    }
}

在這種情況下,我假設您希望在類的main方法中執行您的代碼。 當然,此代碼也可以采用其他任何方法。

必須將以下代碼包裝為一個塊(方法或靜態)。

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("What is your name?");
String name = in.readLine(); ;
System.out.println("Hello " + name);

如果沒有塊,則只能聲明變量,並且不能在單個語句中為其賦值。

對於方法main()來說,現在是最佳選擇:

public class details {
    public static void main(String[] args){
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("What is your name?");
        String name = in.readLine(); ;
        System.out.println("Hello " + name);
    }
}

或如果您想使用靜態塊,則...

public class details {
    static {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("What is your name?");
        String name = in.readLine(); ;
        System.out.println("Hello " + name);
    }
}

或者如果您想構建另一種方法。

public class details {
    public static void main(String[] args){
        myMethod();
    }
    private static void myMethod(){
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("What is your name?");
        String name = in.readLine(); ;
        System.out.println("Hello " + name);
    }
}

還擔心由於BufferedReader而導致的異常。

您還必須捕獲或拋出IOException。 見下文。 並非總是最好的方法,但是它將為您帶來結果:

public class details {
    public static void main( String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("What is your name?");
        String name = in.readLine(); ;
        System.out.println("Hello " + name);
    }
}

僅變量/對象聲明語句寫在方法之外

public class details{
    public static void main(String arg[]){
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("What is your name?");
        String name = in.readLine(); ;
        System.out.println("Hello " + name);
    }
}

這是示例,嘗試學習Java書籍並查看語法,然后嘗試開發程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM