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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Q&A

3回答

973閲覧

Javaで困っています。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

0クリップ

投稿2015/11/05 07:48

編集2015/11/05 07:58

こんにちは。
Javaを勉強しようと思い参考書を購入したのですがその参考書の問題が解けず困っています。
問題というのは点数が70点以上の人には、人の名前と点数を出力せよ。
という問題です。
私は下の通りに書いて実行しましたがうまくいきません。
わかる方いましたら回答よろしくお願いします。
class Goukakusya{
public static void main( String[] args){
String hito[] = { "aさん", "bさん", "cさん", "dさん", "eさん"};
int point[] = { 80, 65, 55, 30, 100};
System.out.println( "Goukakusya" );
for( int i = 0; i < 5; i++){
if( point[i] >= 70){
System.out.println( hito[i] + " " + point[i]);
}
}
}
}

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

配列の要素が5個しかないのにforループ内で範囲外を参照しようとしています。

for(int i = 0; i < 5; i++)とすればとりあえず動きます。

一応解決の手順を

コードをコピペ
コンパイル->oK
実行->Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
配列のインデックス外にアクセスしていると言われている。
配列にアクセスしているコードを探す。
配列の要素が5個なのにループが10回まわってる。
直す。
実行->正常を確認。

動かない!どうしよう!じゃなくて
動かないなら大体の場合何か言ってくるので、それをちゃんと読みましょう。

投稿2015/11/05 08:01

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

i < 10
じゃなくて、
i < hito.length
ですね。
5人しか居ないのに10人分回したらまずいでしょう。

java

1static class Person { 2 private int point; 3 private String hito; 4 public Perdon(String hito, int point) { 5 this.point = point; 6 this.hito = hito; 7 } 8} 9 10List<Person> list = new ArrayList<Person>(); 11ってやれば、人数制限無しの判定ができます。 12

コピペしても簡単には動きませんが、こういy書き方もありますよ、ってことです。
書籍を読んでくうちに理解できるようになります。

投稿2015/11/05 08:00

ipadcaron

総合スコア1693

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

for文のiが5になった時に参照できるpoint[i]が無いので、実行時例外が発生するという問題でしょうか?
継続条件の i < 10 を i < point.length にすればいいのでは?

投稿2015/11/05 07:55

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/11/05 08:00

すいません。5と10を間違えて入力していました。 そして一度10をpoint.lengthと変更し実行してもうまくいきませんでした。
swordone

2015/11/05 08:03 編集

何がどううまくいかないのかを教えていただかないとこちらも回答のしようがないのですが… エラーメッセージが出るならそれを貼る、期待していた結果と違うのなら期待した結果と実際の実行結果を貼る、等、必要な情報が足りません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問