を動作していませんか? は、ここで私はそれが正常に動作しますが、なぜ..... whileループで動作していない第三内側のwhileループを置き換えることによって、forループを試してみましたか?本当の理由を教えてくれませんか?第三内側のwhileループループは、なぜ私に教えてください動作していないながらブローコードでは、内側第三の
import java.util.Scanner;
public class MergeArray {
void arrayInitialization(Scanner arg) {
//entering test cases
System.out.println("enter test cases");
int t = arg.nextInt();
int k, l, i;
k = 0;
l = 0;
i = 0;
//outer while loop
while (t-- > 0) {
//initializing a1[]'s size
System.out.println("enter a1[]'s size");
int as1 = arg.nextInt();
int a1[] = new int[as1];
//inner while loop-1
while (as1-- > 0) {
System.out.println("enter a1[]'s elements");
a1[i] = arg.nextInt();
System.out.print(a1[i]);
i++;
}
i = 0;
//initializing a2[]'s size
System.out.println("enter a2[]'s size");
int as2 = arg.nextInt();
int a2[] = new int[as2];
//inner while loop-2
while (as2-- > 0) {
System.out.println("enter a2[]'s elements");
a2[i] = arg.nextInt();
System.out.print(a2[i]);
i++;
}
System.out.println();
int a3[] = new int[a1.length + a2.length];
int size = as1 + as2;
//inner while loop-3
while (size-- > 0) {
if (k < a1.length)
a3[l] = a1[k];
if (k < a2.length)
a3[l + 1] = a2[k];
k++;
l += 2;
}
for (int j = 0; j < (a1.length + a2.length); j++) {
System.out.print(a3[j]);
}
}
}
public static void main(String[] args) {
MergeArray ma = new MergeArray();
Scanner sc = new Scanner(System. in);
ma.arrayInitialization(sc);
}
}
解決策は多すぎますが見つかりませんでした。ここではwhileループを使用しています。なぜならwhileループはforループの代わりに速く動作することがわかっているからです。
あなたはwhileループの内側にこれらの配列を初期化はなぜ? – Duke
助けをデバッグするための検索、常に明確にあなたのコードを実行すると何が現在行うことになっていることになっているものを明記してください。さもなければ、あなたのコードが何をすべきかを理解するために、あなたのコードを深く掘り下げる必要があります。 – Zabuza