3
私はちょうどいくつかのJavaの学習を始めました。この簡単なプログラムを作成しましたが、私のコードで何が間違っているのか分かりません。単純なコンソールテストアプリケーションのNullPointerException
これは私が実行したときに、私が何を参照してくださいエラーです:
スレッドでの例外treehousejava.Main.mainで "メイン" のjava.lang.NullPointerException (Main.java:9)
これは私のコードです:
package treehousejava;
import java.io.Console;
public class Main {
@SuppressWarnings("unused")
public static void main (String[] args){
Console console = System.console();
String q = console.readLine("Hi there! what's your name? ");
console.printf("hi there %s ! my name is console! ");
}
}
System.console' 'のjavadocは、それが' null'なのでを返します。その場合には1、存在しないかもしれないと言います。コンソールを使用しようとする正当な理由はありますか?もしそうでなければ、私は 'System.out.println'を出力に使用し、' Scanner'を 'System.in'に入力するだけです。 – ajb
@Unknownここでは関係ありません。どの変数がnullであるかは明らかですが、質問は*なぜ*この場合は*、そしてそれはあなたの提案された複製によって答えられません(コメントと回答で示されているように答えは簡単ですが) –
実際、私が使っているIDEであるEclipseのプログラムは、NPEになります。なぜなら、 'Console'がないからです。ただし、コマンドラインでの実行は機能します。解決策はそれを使用しないことです。アダムの答えを見てください。 – Seelenvirtuose