我有一个关于如何使用返回数组类型访问方法的问题。这是我的代码:
public static void main(String[] args) {
int value = 5;
for(int i=0; i<value; i++){
System.out.println((i+1)+ "=" + Arrays.toString(Arr(value)));
}
}
private static int[] Arr(int n){
int[] x = new int[n];
for(int i = 0; i<n; i++){
x[i] = i+1;
}
return x;
}
代码结果总是打印[1,2,3,4,5] 5次。 我的问题是如何访问特定的数组编号,例如如何访问包含2的arr [1]或包含3的arr [2]?
答案 0 :(得分:1)
试试这个:
System.out.println((i+1)+ "=" + Arr(value)[i]);
你正在获取int数组,所以如果你有索引,那么你可以像上面一样访问它。
相当于int[] array = Arr(value);
System.out.println((i+1)+ "=" + array[i]);
值得注意的两点:
答案 1 :(得分:1)
您应该调用该方法一次,并访问返回数组的元素。
public static void main(String[] args) {
int value = 5;
int[] result = Arr(value);
for(int i=0; i<value; i++){
System.out.println((i+1)+ "=" + result[i]);
}
}
答案 2 :(得分:1)
如果您想逐个打印每个元素
public static void main(String[] args) {
int value = 5;
int[] output=Arr(value);
for(int i=0; i<value; i++){
System.out.println((i+1)+ "=" + output[i]);
}
}
private static int[] Arr(int n){
int[] x = new int[n];
for(int i = 0; i<n; i++){
x[i] = i+1;
}
return x;
}
答案 3 :(得分:0)
该函数返回一个数组,您可以从中访问Arr(value)[index]
之类的元素。以下是一个例子:
System.out.println((i+1)+ "=" + Arrays.toString(Arr(value)[i]));
在这种情况下你也可以使用临时数组:
int[] temp = Arr(value);
System.out.println((i+1)+ "=" + temp[i]);
答案 4 :(得分:0)
试试这个:
System.out.println((i+1)+ "=" + Arr(value)[i]);
简单,我希望它有所帮助。
答案 5 :(得分:0)
你用错误的参数调用函数。
你可以这样打电话。public static void main(String[] args) {
int value = 5;
for (int i = 0; i < value; i++) {
System.out.println((i + 1) + "=" + Arrays.toString(Arr(i + 1)));
}
}
答案 6 :(得分:0)
目前,每次进行循环时都会创建一个新的数组 。这非常缓慢且浪费,特别是如果您每次只想打印一个值。
要获得代码,只需打印出单个值,就可以执行此操作:
int value = 5;
for(int i=0; i<value; i++){
System.out.println((i+1)+ "=" + Arr(value)[i]);
}
但正如我所说,因为你每次都会拨打Arr
,这样效率会非常低。你真正想做的是创建一次数组,然后遍历它:
int value = 5;
int[] array = Arr(value);
for(int i=0; i<value; i++){
System.out.println((i+1)+ "=" + array[i]);
}
如果您想亲自了解此更改的效果,请尝试将value
设置为10000000或更高,并且您应该注意到第一个更长时间逐渐减慢。
设定它并注意它开始的速度。然后去喝酒,看看你回来后它是否还在快速运转。 (如果你回来后它已经完成,请将值设置得更高。)