前提・実現したいこと
入力した配列を逆順にコピーするプログラムを書いています。
動作が理解できず、困っている箇所があります。
発生している問題・エラーメッセージ
以下が実行結果ですが、b[0]:1とb[1]:2と表示されて欲しいのですが、
どの点が誤っているのでしょうか。
配列aの要素数:2 a[0]: 1 a[1]: 2 配列bの要素数:2 2 2 1 1 b[0]:1 b[1]:1
該当のソースコード
java
1import java.util.Scanner; 2 3public class Main { 4 static void rcopy(int[] a, int[] b) { 5 for(int i = a.length-1; i>=0; i--) {//配列aは後ろから 6 for(int j = 0; j<b.length; j++) {//配列bは前から 7 b[j]=a[i]; 8 System.out.println(b[j]); 9 } 10 } 11 } 12 13 public static void main(String[] args) { 14 Scanner scan = new Scanner(System.in); 15 16 System.out.print("配列aの要素数:"); 17 int na = scan.nextInt();//配列aの要素数 18 int [] a = new int[na]; //要素数naの配列 19 20 for(int i = 0; i<na; i++) { 21 System.out.println("a[" + i + "]:"); 22 a[i] = scan.nextInt(); 23 } 24 25 System.out.print("配列bの要素数:"); 26 int nb = scan.nextInt();//配列aの要素数 27 int [] b = new int[nb]; //要素数nbの配列 28 rcopy(a, b); 29 30 for(int j = 0; j<nb; j++) { 31 System.out.println("b[" + j + "]:" + b[j]); 32 } 33} 34} 35
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/29 09:09