Javaのコードでエラーが出てくる理由につきまして

次のようなコードがあります。

package testprogramm;

class Sample {
public static void main(String[] args) {
String moji;
int mojisu;
moji = args[0];
mojisu = Integer.parseInt(args[1]);

for (int i = 1; i <= mojisu; i++) {
for (int j = 1; j <= mojisu; j++) {
System.out.print(moji);
System.out.print(" ");
}
System.out.println(); // 改行
}
System.out.println();
for (int i = 1; i <= mojisu; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(moji);
System.out.print(" ");
}
System.out.println(); // 改行
}
}
}

これをEclipse上で実行するとエラーが出てきてしまいます。
なぜエラーになりどう直せばいいのか、お教えいただけないでしょうか。よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:2019/06/14 06:00:25
  • 終了:2019/07/01 06:05:05
id:moon-fondu

「Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at testprogramm.Sample.main(Sample.java:6)」というエラーが出てきてしまいます…。

回答(2件)

id:degucho No.1

degucho回答回数281ベストアンサー獲得回数752019/06/14 08:40:46

ポイント250pt

プログラムを見る限り
args[0]とargs[1]という2つの引数が実行に必要なようです。
Eclipseでやるなら引数設定が必要と思われます。
http://fernweh.jp/b/main-argument/

id:moon-fondu

ありがとうございます。
さっそく、リンク先を参考に、実行→実行構成→引数タブを開いてみました。
すると、引数タブは空白で、何もデータが入っておらず…どのように書き換えますと、うまくeclipse上で動いてくれるでしょうか?
度々すみません、よろしくお願いします<m(__)m>

2019/06/14 21:00:18
id:a-kuma3 No.2

a-kuma3回答回数4770ベストアンサー獲得回数20492019/06/15 01:18:19

ポイント250pt

http://fernweh.jp/b/main-argument/
↑の「プログラムの引数」のところに、「X 3」みたいな感じで設定して、実行してください。

id:moon-fondu

ありがとうございます、試してみたのですが、何を入れたらいいのかよく判らなく、エラーになります。
http://f.hatena.ne.jp/moon-fondu/20190615070041
そもそもargs[0]とargs[1]は引数なのでしょうか?argument、の単語的な意味が引数であることは判りますが。
"public static void main(String[] args)"とあるので、argsはString型の配列変数ではあると思います。
ただargs[0]とargs[1]は、

String moji;
int mojisu;
moji = args[0];
mojisu = Integer.parseInt(args[1]);

とありますように、args[0]は変数"moji"に代入したString型の配列、args[1]は変数"mojisu"に代入したIntegerクラスのparseIntメソッドでint型にされたint型の配列、かと思います。

確かに"moji"は「System.out.print(moji);」とありますように、括弧で囲んで引数として利用していると思いますが。"mojisu"の方は、for文「for (int i = 1; i <= mojisu; i++) {…」の真ん中、for文の継続条件として利用されていると思いますが、引数としては利用されていないように思えます。

やはり自分はコードの中身がよく把握できていない部分もありまして、リンク先を参考にしてそれを同様に展開させることも難しく…度々すみませんが再度、args[0]とargs[1]が引数である理由や引数設定が必要な理由、どのように引数設定をすればよいか等、お教えいただけないでしょうか。
よろしくお願いします。

2019/06/15 07:02:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません