質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.76%

  • Java

    13166questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Eclipse

    1606questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

テキストの問題を解いて、エラーメッセージが出ていないが実行するとエラーが出る。

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 190

HISUI

score 12

前提・実現したいこと

エラー原因を突き止めてきちんと作動させたい。

エラーメッセージ

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at 復習1.Review8.main(Review8.java:6)

該当のソースコード

package 復習1;

public class Review8 {
    public static void main(String[] args) {
        int sum = 0;
        int num = Integer.parseInt(args[0]);

        for (int i = 1; i <= num; i++) {
            sum = sum + i;
        }
        System.out.println(args[0] + "までの総和:" + sum);
    }
}

試したこと

テキストの問題を解いたものなので回答を見て何度も確認致しました。

補足情報(言語/FW/ツール等のバージョンなど)

より詳細な情報
エラーが出ている赤いバツ印のアイコンが表示されていなく、実行をしようとしたらコンソールに上記のエラーメッセージが出てしまいました。

関係あるか分かりませんが、クラス名が勝手に消えていたりすることがあります。
消えていた上に表示がおかしくなっています。

1行目|   package 復習1;

2行目|   public class Review8 {


このような表示になっている筈が、突然この二行が消えて
表示が三行目からの表示にされます。

3行目|      public static void main(String[] args) {
4行目|        int sum = 0;
5行目|        int num = Integer.parseInt(args[0]);


分かりにくいと思いますが、三行目が一番上になり行数も3と表示されるのです。
1、2行目が非表示のようになっているのです。
関係があるか分かりませんが一応載せておきます。

どうぞ、よろしくお願い致します。

問題文です。

1以上、コマンドラインの引数で指定した整数値までの総和を求めるプログラムを作成せよ。
例えば、コマンドラインの引数で「10」を指定した場合には1から10までの総和である55を表示させる。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • swordone

    2017/10/11 17:20

    最後の情報に関してはスクリーンショットを撮って質問に掲載するとわかりやすくなります。

    キャンセル

回答 3

checkベストアンサー

+3

int num = Integer.parseInt(args[0]);

ArrayIndexOutOfBoundsExceptionの発生個所は↑ココ。
引数無しで実行したのでは?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/11 17:28

    テキストの回答を見てEclipseに打ち直し、それをここにコピぺした上に何度も確認致しました。
    補足でその問題文を掲載いたします。

    キャンセル

  • 2017/10/11 17:32

    コマンドライン引数はコード上に現れませんよ

    キャンセル

  • 2017/10/11 17:34

    コマンドライン引数付きでEclipseで処理を実行する方法:
    http://fernweh.jp/b/main-argument/

    キャンセル

  • 2017/10/11 17:53

    「コマンドライン引数って何?」↓
    https://nobuo-create.net/java-beginner-15/

    キャンセル

  • 2017/10/12 09:25

    コマンドライン引数で無事に出来ました!
    コマンドライン引数の仕組み等を理解できましたありがとうございます!

    キャンセル

0

すでに回答されていますが、
引数無しで実行しているのが原因だと思います。

HISUIさんがテキストの回答を見て、Eclipseに書いたコードが間違えているのではなく、
そのコードの実行の方法が間違えていると言えばわかりますでしょうか。

テキストでは実行の方法については言及されていませんか?

以下サイトも参考にしてみてください。
http://www.task-notes.com/entry/20150930/1443582000

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

10までの総和:55


このような結果が出ました!回答して下さった皆様ありがとうございます。
テキストにはコードしか掲載されていないので、どのような実行結果になるのか答えは載っていないのですが、自分の知らない事を覚えられて良かったと思います。
また、質問をすることがあると思いますが、よろしくお願い致します。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    100になる直前の加算結果出力

    javaで開始値と終了値を入力してその間の偶数を加算していき、合計が100を超えたら「数値が100を超えたため、処理を中止します。」とメッセージを出し、かつ合計が100になる前の加

  • 解決済

    合計、平均の出しかた

    class Art{ public static void main(String[] args){ //argを初期化 String a

  • 解決済

    入力した値を表示させない方法

    初めまして。現在JAVAを学んでいる初心者です。 現在、配列に格納している値を表示させるプログラムを作っています。 ユーザーから入力があった場合、次に配列の値を表示させるとき、

  • 解決済

    javaの演算子に関する質問です。

    キーボードから読み込んだ整数値に10を加えた値と,10減らした数を表示するプログラムを作っています。一応プログラムは完成したのですがコンパイルエラーになります。なぜでしょうか??プ

  • 受付中

    3つの整数が

    public class Main { public static void main(String[] args) throws Exception { //3つの整数が入力

  • 解決済

    改行区切りでの出力

    ランダムな整数を改行区切りで3個出力したくて以下のコードを打ってみたんですが間違いといわれました。どこが違うのか指摘お願いします  public class Main {  p

  • 解決済

    Java初心者・複数行の標準入力と配列について

    問題点・テーマ マークテストの正解の番号の列を入力させ、其の後に受験者数を入力する。 そしてそれぞれの回答番号を入力する。 そのときのそれぞれの点数(=正解数)を求めるプログラムを

  • 解決済

    再帰的なメソッドをスタックを使って非再帰的に書くには?

    前提・実現したいこと IntStackはInt型のスタック、先入れ後出しのStackです。 static void recur3(int n){ if(n > 0){ recu

同じタグがついた質問を見る

  • Java

    13166questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Eclipse

    1606questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。