我是编程新手。我遇到了这个问题:
“编写一个程序,它将填充三个数组a,b和c,所有长度为8,伪随机整数在2到10之间,包括2但不包括10,并设置第四个数组的数组元素,d ,长度为8,对应于a,b和c的对应元素的总和,并输出如下所示的所有四个数组。注意在main中生成的三个数组(a,b和c)并传递给非添加相应元素以确定sum数组(d)并将sum数组(d)返回main的主要方法。所有四个数组从main输出。“
到目前为止,使用随机元素创建数组a,b和c没有问题。但是我不知道如何在main之外创建d(如何发送多个参数,如何将值返回main)。请帮忙!
我试过这样的事情:
这有什么问题?:
public static void main(String args[]){
//generated arrays a, b, c
d[] = assemble (a, b, c);
}
public assemble (int a, int b, int c){
int d = a + b + c;
return;
}
}
答案 0 :(得分:0)
一些伪代码:
function main{
// stuff going on
array result;
result = assemble (a, b c);
}
function array assemble (array a, array b, array c){
// do something with the arrays
// assing result to d
return array d
}
在main中调用汇编并使其返回结果数组。将返回的数组分配给变量以存储结果。
在此之后,你将在main中提供所有4个数组(数组d存储在你创建的变量中),你可以打印出所有这些数组或者你需要用它们做任何其他事情。
Java示例:Passing arguments and returning result
修改了你的代码:
public static void main(String args[]){
//generated arrays a, b, c
int[] d = assemble(a, b, c);
}
public int[] assemble(int[] a, int[] b, int[] c){
int[] result;
// do something with a b c and assign it result to result[]
return result;
}
}
答案 1 :(得分:0)
第一个问题(伪随机数生成):Math.random() explained
问题的第二部分:遍历数组(循环)以添加每个伪随机整数值并将结果存储在相应的索引位置:d [i] = a [i] + b [i] + c [i ]
由于您的要求是使所有数组具有相同的长度,我可能会创建一个常量整数MAX_SIZE并将其设置为8.当您声明四个数组时,我会使用此常量来指定大小(即int [] a = new int [8])。
指令"并输出所有四个数组,如下所示"我不清楚。我不知道'下面'意味着在这种情况下。但是,我假设在为每个值进行赋值时,可以使用System.out将每个值输出到屏幕。
"我不知道如何在主体之外创建d。"你的阵列' d'是存储在a,b和c中的值的总和。您的代码是错误的,因为您将整数值(不是整数数组)传递给方法并返回一个整数并尝试将其分配给一个数组(这些数组是不兼容的数据类型)。你的汇编方法应该将整数数组作为参数(a,b,c)并返回一个整数数组(d)。在此方法中,您必须遍历要传递的数组,获取每个索引位置中的值,并将总和分配给“' d”上的相应索引。添加完所有值后,您将返回该数组。这很简单。我不确定困难是什么。如果你可以在' main'内进行,你也可以在它之外进行。