ソースを書いてみると長くなってしまったので、もっと簡潔で正しいソースはどのように記述するといいでしょうか。
見辛いソースでお手数をおかけしますが、回答をお願いいたします。
元の配列の値は変更せず、int型の配列xを受け取り、値を逆に入れ替えた新しい配列を作成し、その参
照を返すメソッドの作成したい。(動作を確認するための適切なmain()メソッドも作成し、動作を確認が必要)
java
1package program01; 2 3import java.io.BufferedReader; 4import java.io.IOException; 5import java.io.InputStreamReader; 6 7public class Program01 { 8 public static void main(String[] args) { 9 try { 10 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 11 System.out.print("配列のサイズを入力してください:"); 12 int array_num = Integer.parseInt(reader.readLine()); 13 System.out.println("値を入力してください:"); 14 System.out.print("x[" + 0 + "]" + "="); 15 int array_value = Integer.parseInt(reader.readLine()); 16 int[] x = new int[array_num]; 17 x[0] = array_value; 18 for (int i = 1; i < x.length; i++) { 19 System.out.print("x[" + i + "]" + "="); 20 int array_value2 = Integer.parseInt(reader.readLine()); 21 x[i] = array_value2; 22 } 23 int[] y = x; 24 System.out.println("リバースしてコピーしました。"); 25 reverseArrayCopy(y); 26 System.out.println("元の配列をもう一度表示します。"); 27 System.out.println("(変更されていませんね。)"); 28 for (int i = 0; i < x.length; i++) { 29 System.out.println("x[" + i + "]" + "=" + x[i]); 30 } 31 } catch (Exception e) { 32 // tryの中でエラーがあればこの中に入る 33 System.out.println("入力エラーです"); 34 } finally { 35 // エラーでも正常でも実行します 36 System.out.println("プログラム終了"); 37 38 } 39 } 40 41 public static int[] reverseArrayCopy(int[] y) { 42 for (int i = (y.length) - 1; i >= 0; i--) { 43 int j = (y.length - i) - 1; 44 System.out.println("y[" + j + "]" + "=" + y[i]); 45 } 46 return y; 47 } 48} 49
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。