題目:輸入數組,最大的與第一個元素交換,最小的與最後一個元素交換,輸出數組。
import java.util.Scanner;
public class WangDao {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] a = new int[100];
int count = 0;
System.out.println("Input the array(end when entering 'end'): ");
while (scan.hasNextInt()) { // 因爲不知道數組長度,所以用end作爲結束標記。
a[count++] = scan.nextInt();
}
changeMax(a, count); // 最大放首位。
changeMin(a, count); // 最小放末尾。
for (int i = 0; i < count; i++) {
System.out.print(a[i] + " ");
}
}
public static void changeMax(int[] a, int count) {
int max = 0;
for (int i = 0; i < count; i++) {
if (a[i] > a[max]) {
max = i;
}
}
if (max != 0) {
int temp = a[max];
a[max] = a[0];
a[0] = temp;
}
}
public static void changeMin(int[] a, int count) {
int min = count - 1;
for (int i = 0; i < count; i++) {
if (a[i] < a[min]) {
min = i;
}
}
if (min != count - 1) {
int temp = a[min];
a[min] = a[count - 1];
a[count - 1] = temp;
}
}
}