java数组在循环中改值_java循环中对数组赋值会把前⼀个数据
替换为零。
展开全部
⾸先呢,你的问题在62616964757a686964616fe78988e69d8331333363356561于对数组进⾏第⼆次赋值的时候,它的容量已经变为n+2了。⽽你还是利⽤n次进⾏循环赋值,这样n+1个值就⽆法赋上,就会默认为0了(⽽不是你说的替换)。
要解决这个问题,只需要定义⼀个记录已经Y次输⼊的变量,然后让n进⾏动态变化。详细代码如下。import java.util.Scanner;
public class UseScanner {
public static void main(String[] args) {
int times= 0;//定义⼀个记录Y次赋值的变量
Scanner sj = new Scanner(System.in);
System.out.println("请输⼊第⼀组数据个数 :");
int n =sj.nextInt();
int array1[]=new int [n];
System.out.println("请输⼊第⼀组数据 :");
for(int i=0;i
array1[i]=sj.nextInt();
}
System.out.println("是否继续输⼊ :");
String flg = sj.next();
while(flg.equals("Y")){
System.out.println("请输⼊下⼀个数据 :");
int num= sj.nextInt();
int array2[] = new int [array1.length+1];
for(int i=0;i
array2[i]=array1[i];
}
array2[array1.length]=num;
for(int i=0;i
System.out.print(array2[i]+" ");
}
array1=array2;
System.out.println("是否继续输⼊ :");
java定义一维数组并赋值
flg = sj.next();
times++; //如果是Y时候给它⾃⾝++1
}
for(int i=0;i
System.out.print(array1[i]+" "); }
}
}
运⾏结果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论