输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
2017-09-16 11:40
453 查看
代码:
import java.util.Scanner; public class changearray { public static void main(String[] args) { System.out.println("请输入6个数,按回车结束:"); Scanner in = new Scanner(System.in); int[] n=new int[6]; for(int i=0;i<n.length;i++){ n[i]=in.nextInt(); } int max,min; max=min=0; for(int i=1;i<n.length;i++){ if(n[i]>n[max])max=i; } System.out.println(min+" "+max); change(n,max,0); for(int i=1;i<n.length;i++){//由于有可能在交换之后马上交换回来,所以此处,更新一下最小值 if(n[i]<n[min])min=i; } change(n,min,n.length-1); for(int i=0;i<n.length;i++){ System.out.print(n[i]+" "); } System.out.println(); } private static void change(int[] n, int max, int i) { // TODO Auto-generated method stub int tem=n[max]; n[max]=n[i]; n[i]=tem; } }
运行结果:
[bcahlit@bchalit Java]$ javac changearray.java [bcahlit@bchalit Java]$ java changearray 请输入6个数,按回车结束: 1 2 3 4 5 6 0 5 6 2 3 4 5 1 [bcahlit@bchalit Java]$
总结:
在找出最大值与最小值之后,应该进行移位,然而有时候会出现最大值是最后一个,最小值是第一个,这样在换过来后又重新进行了交换。所以采用找出最大值,交换。然后再找出最小值交换的方式。相关文章推荐
- 练习5: 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 作业5:输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Java开发练习1,输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 练习5: 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 练习5: 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 练习5: 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Test5(2)输入一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
- 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
- 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。