アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaのカウント回数について質問させて頂きます。
ユーザーから数字を入力した回数をint countに格納して
表示したいのですがコンパイルは通りますが実行できません。

elseの中にSystem.out.printlnした文字も表示されずどうやら
elseを通ってなくatr[i]にも値が格納されてないようです。

調べた限りではわからなく宜しければアドバイスやご指摘をお願い致します。


import java.io.*;
import java.util.Arrays;

class last
{
public static void main(String[] args) throws IOException
{

int atr[];
atr = new int[25];
int count = 0;

int your_plan[][] = new int[300][144];//1日のスケジュール
String dayplan;


BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

while(true){//絶対に通る

System.out.println("数字を選択してください。");

String str = br.readLine();
int res = Integer.parseInt(str);


if(res == 0){
System.out.println("選択終了です。");
break;
}

else{
atr[count] = res;
}
count++;

System.out.println(count);

}

A 回答 (1件)

どうやって確認したのですか?



添付したのは、元のプログラムに
・{}が対応できてなかったのを追加
・確認用にSystem.out.printlnを追加
しただけで、それ以外は元のままです。
これで動かしたところ、ちゃんと入っているようですが?

> int your_plan[][] = new int[300][144];//1日のスケジュール
> String dayplan;

と、ここで使われていない変数があります。
atr[]には正常に入っていて、それを使うところが間違ってる、ということは無いですか?

import java.io.*;
import java.util.Arrays;

class last {
public static void main(String[] args) throws IOException {

int atr[];
atr = new int[25];
int count = 0;

int your_plan[][] = new int[300][144];//1日のスケジュール
String dayplan;


BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

while(true) { //絶対に通る

System.out.println("数字を選択してください。");

String str = br.readLine();
int res = Integer.parseInt(str);


if(res == 0) {
System.out.println("選択終了です。");
break;
}

else {
atr[count] = res;
System.out.println("atr[" + count + "] = " +res);
}
count++;

System.out.println("Count= " + count);

}

System.out.println("結果");
for( int i = 0 ; i < count ;++ i){
System.out.println("atr[" + i + "] = " + atr[i]);
}

}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています