10

おそらく質問自体から理解できるように、私はJavaが初めてです。文字を受け取り、それを出力し、Unicode テーブルの次の文字を出力する Java プログラムを作成する演習を行いました。

これで、この演習の解決策が得られました。

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

前もって感謝します

4

5 に答える 5

10
  • メニューから「実行 -> 実行構成」を選択します。
  • 左側のリストでプロジェクトを検索して選択します。
  • 右側の「引数」タブを選択します。
  • 「プログラム引数」には、プログラムに渡したい引数を記述します。
  • 「実行」をクリック
于 2012-09-22T18:44:36.440 に答える
6

Eclipse のプロジェクト エクスプローラーで Java ファイルを右クリックします。次に実行>実行構成

ここに画像の説明を入力 すると、ウィンドウが表示されます。お気に入り-

ここに画像の説明を入力

Arguments Tabs をクリックし、そこにテキストを書きます。文字の場合もあります。

次に、[適用] ボタンと [実行] ボタンをクリックします。

于 2012-09-22T18:51:44.470 に答える
3

Eclipse のデフォルトの実行構成では、引数なしで Java プログラムが実行されるため、ArrayIndexOutOfBoundsException. あなたのコードは、args何もないときに配列の最初の要素を取得しようとしています!

実行構成を編集して、プログラムを実行するための引数を提供できます。次に、この例外をスローしないでください。

ただし、配列の要素にアクセスする前に配列のサイズを確認することをお勧めします。配列がコードの外部から引数として渡される場合はなおさらです。

于 2012-09-22T18:43:41.557 に答える
0

これは素晴らしい質問で、いくつかの非常に良い答えがあります。独自のプログラムをデバッグする方法について、いくつかの指針を追加したいと思います。デバッグは、コードを書くことと同じくらい重要です (それ以上に重要ではないにしても)。

1 つには、Eclipse には優れたデバッグ機能がいくつかあります。このデバッガーを使用して、コードの問題を見つけることができます。使い方を学ぶことをお勧めします。特に、変数の監視を設定して、コードの実行をステップ実行するときに変数の値を確認できます。

または、呼び出しを追加System.out.println()して、変数の値を出力することもできます。たとえば、コードの先頭に次の行を追加すると、問題を絞り込むのに役立つ場合があります。

System.out.println(args[0]);

これによりArrayIndexOutOfBoundsException、コマンドライン引数が指定されていない場合も返されます。次に、次のようなことができます

System.out.println(args.length);

これは印刷され0ます。これにより、問題がどこにあるかの手がかりが得られます。

もちろん、ここまで来ても問題の解決方法がわからない場合があります。ここで、StackOverflow のようなサイトが役に立ちます。

Java の経験を積んでください。さらに助けが必要なときは、戻ってきてください。

于 2012-09-22T21:31:24.820 に答える