JAVA基础练习,如何在动态数组中获得最值,并交换最值位置。
话不多说,先代码,手机受限发不了图片,只能手打了。
第一步用scanner获取一个动态数组:Scanner创建一个对象,并在下一步调用next方法。
第二步,分别创建最值及其索引的变量,并遍历循环找出最值及其索引。
第三步,创建一个临时变量来帮助交换位置。
完整代码如下:
Scanner input =new int[10];
for(int i =0;i<10;i++){
//这里可以备注请录入第几个数等等。
num[i]=input. nextInt();
}
int max =num[0];
int min= num[0];
int maxS = 0;
int minS =0;
for(int i=0;i<num.length;i++){//num.length表示数组的长度//
if(num[i]>max){
max =num[i];
maxS=i;//这样就拿到了最大值和最大值的索引,最小值同理,我就不写了,手机打字太麻烦了。
}
}
int temp =0;
temp=num[maxS];
num[maxS]=num[minS];
num[minS]=temp;
//这里借用临时变量,先把最大值交给它,再把最小值赋值给原最大值的索引,然后再把临时变量所拥有的最大值再交给原最小值的索引,最后输出检查,完成查找最值及交换位置。