2011-12-15 120 views
5
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を使用して名前、住所、年齢を入力するコードを提供して、最後に出力を表示することができます。コンパイルエラー:識別子が必要です

ありがとう!!

+0

Java機能に従います。 – alishaik786

+0

誰も私にtry/catchステートメントを説明することができますか? –

+0

このステートメントが例外をスローする可能性があると思うときはいつでも、try/catchステートメントを使用する必要があります。例外が発生した場合、catchブロックでその例外を残すか、その例外で何かを行うことができます。例外が発生し、catch()に何も書き込まなかった場合を意味します。ブロックしたら、それはcatch()ブロックで書いたステートメントに従って、次の行に移動します。 – alishaik786

答えて

15

コードの周囲にメソッドを定義していません。この場合

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方法で実行したいと仮定しています。もちろん、このコードは他の方法でも使用できます。

+1

あなたのコードをコピーしてコピーした後に、それは私にエラーを述べます: 報告されていない例外java.io.IOException;キャッチされるか、スローされると宣言されなければならない –

+0

それは正しいです; try-catchブロックと呼ばれるものにコードをラップする必要もあります。 「例外処理」については、Javaプログラミングの重要な部分です。 –

+0

ここには素晴らしいJavaビデオチュートリアルコースがあります:http://www.wibit.net/curriculum/courses/programming_java :) – span

7

あなたがはブロック(メソッドまたは静的のどちらか)にあなたの次のコードをラップする必要があります。

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){ 
     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による例外が心配です。

+0

+1の静的ブロック。それを考えなかった。 –

0

唯一の変数/オブジェクトの宣言文は、メソッドの外

ここ
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); 
    } 
} 

を書かれています。また、キャッチする必要がありますプログラム

1

を開発しようとし、その後のJavaの本を学ぶと構文を表示しようとする例であります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); 
    } 
} 
関連する問題