【发布时间】:2017-03-10 15:12:50
【问题描述】:
我需要做的是创建第三个动态数组(我想我做了),它结合了前两个的长度,然后将这些数组的内容打印出来作为第三个数组的输出。
例子:
数组 1: 1 4 2 6 0
数组 2: 3 6 2 1 5
数组 3: 1 4 2 6 0 3 6 2 1 5
这是我目前所拥有的:
import javax.swing.*;
public class DynamicArray
{
public static void main(String[] args)
{
// User Input - Array length
int arrayLength;
arrayLength = Integer.parseInt(JOptionPane.showInputDialog("Enter Array length:"));
// First dynamic array
int[] dynArray1;
dynArray1 = new int[arrayLength];
for (int i = 0; i < dynArray1.length; i++)
{
dynArray1[i] = (int) (Math.random() * 10);
}
System.out.println("First Array:");
for (int j = 0; j < dynArray1.length; j++)
{
System.out.println(dynArray1[j]);
}
// Second dynamic array
int[] dynArray2;
dynArray2 = new int[arrayLength];
for (int i = 0; i < dynArray2.length; i++)
{
dynArray2[i] = (int) (Math.random() * 10);
}
System.out.println("Second Array:");
for (int j = 0; j < dynArray2.length; j++)
{
System.out.println(dynArray2[j]);
}
// Third dynamic array
int thirdArrayLength = dynArray1.length + dynArray2.length;
int[] dynArray3;
dynArray3 = new int[thirdArrayLength];
for (int i = 0; i < dynArray3.length; i++)
{
}
}
}
我只想打印第一个和第二个,但我认为那是作弊,这不是我的任务所要求的。我打算循环 Array1 和 Array2 并打印结果。我不完全确定我应该如何去做。任何帮助将不胜感激。
编辑:这已经解决了!下面是代码:
/* Third dynamic array */
int thirdArrayLength = dynArray1.length + dynArray2.length;
int[] dynArray3;
dynArray3 = new int[thirdArrayLength];
for (int i=0; i < dynArray1.length; i++) {
dynArray3[i] = dynArray1[i];
}
for (int i=0; i < dynArray2.length; ++i) {
dynArray3[i + dynArray1.length] = dynArray2[i];
}
System.out.println("Third Array:");
for (int i=0; i < dynArray3.length; ++i) {
System.out.println(dynArray3[i]);
}
【问题讨论】:
-
您可以在一个语句中初始化和分配一个变量,即
int length = 5;而不是int length;和length = 5。 -
我应该在原帖中添加这个,数组长度必须是用户输入的数字。
-
您可以编辑您的原始帖子;)
-
我假设这是一个赋值,你不能使用任何为你组合数组的高级函数?
-
@McNasty49,到目前为止有任何答案对您有帮助吗?