java输入一个12位长的的整数数组,将最大的值与第一个元素交换,最小的值与最后一个元素交换,输出数组

如题所述

int[] is = new int[12];
int max = 0,min = 0;
for (int i = 0; i < is.length; i++) {
System.out.print("请输入第" + (i + 1) + "个数:");
Scanner sc = new Scanner(System.in);
is[i] = sc.nextInt();
}
for (int i = 1; i < is.length; i++) {
if (is[i] > is[max]) {
max = i;
}
if (is[i] < is[min]) {
min = i;
}
}
int tmp = 0;
tmp = is[0];
is[0] = is[max];
is[max] = tmp;
tmp = is[is.length - 1];
is[is.length - 1] = is[min];
is[min] = tmp;
for (int i = 0; i < is.length; i++) {
System.out.println(is[i]);
}

你试试是不是想要的结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-09
import java.util.Scanner;
public class Test {
private static Scanner input;
public static void main(String[] args) {
int[] array = new int[12];
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int maxIndex = 0, minIndex = 0;
input = new Scanner(System.in);
for (int i = 0; i < 12; i++) {
array[i] = input.nextInt();
// 获取最大值
if (array[i] >= max) {
max = array[i];
maxIndex = i;
}
// 获取最小值
if (array[i] <= min) {
min = array[i];
minIndex = i;
}
}
// 将最大的值与第一个元素交换
swap(array, maxIndex, 0);
// 最小的值与最后一个元素交换
swap(array, minIndex, array.length - 1);
for (int i = 0; i < 12; i++)
System.out.print(array[i]+" ");
}
public static void swap(int A[], int m, int n) {
int temp = A[m];
A[m] = A[n];
A[n] = temp;
}
}追问

为什么array显红....

第2个回答  2015-01-09
冒泡排序,网上一堆源码