交换JAVA数组中两数

关于交换JAVA数组中两数问题

 

今天在BAIDU看到某楼主发帖,询问该问题,然后自己以为很简答,写了很长时间与楼主效果就是不同。

 

通过CSDN各位高手指点,略懂略懂…………

 

交换JAVA数组中两数

 

该代码实现功能:

1.接受用户输入10个整数,并存入Array

2.将Array中的最大值与最小值交换位置

 

 

package Hamber_Bao; import java.util.Scanner; public class SwapNumber { public static void main(String[] ar) { Scanner input = new Scanner(System.in); int maxIndex = 0; //标记最大值索引 int minIndex = 0; //标记最小值索引 int numbers[] = new int[10]; //声明数组接受用户输入 System.out.println("请输入十个数字:"); //循环接收 for (int i = 0; i < numbers.length; i++) { numbers[i] = input.nextInt(); } int temp = 0; //临时变量 int max = numbers[0]; //标记最大值 int min = numbers[0]; //标记最小值 //查找最大,最小索引 for (int i = 1; i < numbers.length; i++) { if (numbers[i] > max) { max = numbers[i]; //一定要将该值赋给max!!!!! maxIndex = i; } if (numbers[i] < min) { min = numbers[i]; minIndex = i; } } //输出排序后效果 for (int a : numbers) { System.out.print(a + "/t"); } //进行交换操作 temp = numbers[maxIndex]; numbers[maxIndex] = numbers[minIndex]; numbers[minIndex] = temp; //输出排序后效果 System.out.println("排序后,输出:"); for (int i = 0; i < numbers.length; i++) { System.out.print(numbers[i] + "/t"); } } }

 

 

 

 

在以上代码中利用for循环查找最大值最小值索时间,一定要将判断出的最大值最小值重新赋予max,min.否则,程序还会以默认的最大值

 

numbers[0],最小值numbers[0]来进行判断。我就栽在这上面了……

 

 

 

                                                                                        By 【Hamber_Bao】

 

                                                                                         2010-5-25

你可能感兴趣的:(java,String,Class,input,2010,Numbers)