前提・実現したいこと
count個の整数型データを入力し、降順に並び替えるプログラム。配列の格納するデータの個数countをキーボードから入力する(String型文字列から整数型へ変換)
countの大きさで配列を確保する
配列にcount個分のデータを格納する(キーボードから入力したString型文字列を整数型へ変換して配列要素へ代入する)
入力データを出力する
並び替えを行う
結果を出力する
発生している問題・エラーメッセージ
Index 1 out of bounds for length 1
該当のソースコード
java
1import java.io.BufferedReader; 2import java.io.IOException; 3import java.io.InputStreamReader; 4import java.util.Arrays; 5import java.util.Collections; 6public class Kadai{ 7 //キーボード入力処理 8 public static void main(String[] args) throws IOException { 9 BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); 10 //検索文字列処理 11 System.out.print("入力データ数="); 12 String num = buf.readLine(); 13 int count = Integer.parseInt(num); 14 //文字列処理 15 Integer res2[]= {count}; 16 for(int i=0;i<count;i++) { 17 String b =buf.readLine(); 18 int a = Integer.parseInt(b); 19 System.out.println("data" + (i+1) + "=" + a); 20 } 21 //ソート処理 22 Integer res1[] = {count}; 23 24 Arrays.sort(res1,Collections.reverseOrder()); 25 //データ表示 26 System.out.print("入力データ="); 27 for(int i=0;i<count;i++) { 28 System.out.print((i+1)+":"+res2[i]+""); 29 } 30 System.out.print("\n"); 31 System.out.print("ソート結果="); 32 for(int i=0;i<count;i++) { 33 System.out.print((i+1)+":"+res1[i]+""); 34 } 35 } 36}
試したこと
自分で調べて、何となく原因についてはわかったのですが具体的にソースコードをどう訂正すればいいのかわからなかったので、質問させていただきました。
補足情報(FW/ツールのバージョンなど)
初質問&超初心者です。質問する上での基本的なルールなど全く分からないので、質問内容やコードの書き方などで不快な思いにさせてしまったら申し訳ございません。このエラーを解決する方法が知りたいです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/10 22:40