質問自体からおそらく理解できると思いますが、私はJavaが初めてです。 Javaプログラムを作成して、文字を受け取り、それを出力し、Unicodeテーブルの次の文字を出力するプログラムを作成しました。
今、私はこの演習の解決策を持っています:
public static void main(String[] args){
char c = args[0].charAt(0);
char c1 = (char)(c + 1);
System.out.println(c + "\t" + c1);
}
このコードの基本的な考え方は理解していますが、Eclipseでこのコードを実行しようとすると、迷惑なエラーが発生します。
スレッド "main"の例外Java.lang.ArrayIndexOutOfBoundsException:0 at MainClass.main(MainClass.Java:9)
注:私はまだJavaプログラムを実際にパラメーターとして受け取るプログラムを実行していないので、それは愚かな初心者の間違いだと思います... Eclipseでコンパイルしようとした完全なコードは次のとおりです:
public class MainClass {
/**
* @param args
*/
public static void main(String[] args){
char c = args[0].charAt(0);
char c1 = (char)(c + 1);
System.out.println(c + "\t" + c1);
}
}
前もって感謝します
EclipseのプロジェクトエクスプローラーでJavaファイルを右クリックします。次に実行>実行構成
次に、ウィンドウが表示されます。お気に入り-
引数タブをクリックし、そこにテキストを書き込みます。文字の場合もあります。
次に、[適用]ボタンと[実行]ボタンをクリックします。
Eclipseのデフォルトの実行構成では、引数なしでJavaプログラムが実行されるため、ArrayIndexOutOfBoundsException
になります。コードは、args
配列の最初の要素を取得しようとしています。何もありません!
実行構成を編集して、プログラムを実行するための引数を提供できます。その後、この例外はスローされません。
ただし、配列の要素にアクセスする前に配列のサイズを確認することをお勧めします。配列がコードの外部から引数として渡される場合はさらに確認してください。
これはいくつかの非常に良い答えを持つ素晴らしい質問です。自分のプログラムをデバッグする方法について、いくつかのポインタを追加したいと思います。デバッグは、コードを書くことと同じくらい重要です(重要ではないにしても)。
まず、Eclipseには優れたデバッグ機能がいくつかあります。このデバッガーを使用して、コード内の問題を見つけることができます。使い方を学ぶことをお勧めします。特に、変数の監視を設定して、コードの実行をステップ実行するときに変数の値を確認できます。
または、System.out.println()
への呼び出しを追加して、変数の値を出力できます。たとえば、コードの先頭に次の行を追加すると、問題を絞り込むのに役立つ場合があります。
System.out.println(args[0]);
コマンドライン引数が指定されていない場合、これはArrayIndexOutOfBoundsException
も提供します。次に、あなたは次のようなことをすることができます
System.out.println(args.length);
これは0
を出力します。これにより、問題がどこにあるのかがわかります。
もちろん、この時点に達しても、問題の解決方法がわからない場合もあります。 StackOverflowなどのサイトが役に立ちます。
Javaの経験で頑張ってください。さらに助けが必要なときに戻ってきてください。
実行構成が整っている場合(上記の回答ですでに示したように):
クラスを実行するショートカットは次のとおりです。
Ctrl + F11