Java程序不知道错在哪,求大师指点。输入数组,最大的与第一个元素交换,最小的与最后一个交换,输出数组

2024-12-05 10:07:08
推荐回答(2个)
回答1:

程序问题比较多,我在你原来基础上将就修改了下。你先瞅瞅哦:
public static void main(String[] args) {
int [] a=new int[10];
int i=0,b,c;
Scanner sc=new Scanner(System.in);
System.out.println("请输入一行数字(以-1结束):");
do
{a[i]=sc.nextInt();
i++;
}while(a[i-1]!=-1); int max=a[0],min=a[0];
System.out.println("你输入的字符是:");
int indexMin = 0;
int indexMax = 0;
for(int t=0;t {System.out.print(" "+a[t]);
if(min>=a[t]){// 找出最小
min=a[t];
indexMin = t;//记录下标
}
if(max<=a[t]){// 找出最大小
max=a[t];
indexMax = t;//记录下标
}

}
System.out.println();

//最大跟第一个交换
b= a[0];
a[0]=max;
a[indexMax] = b;
//最小跟最后一个交换
b= a[i-2];
a[i-2] = min;
a[indexMin] = b;

System.out.println("变换顺序后的字符是:");
for(int j=0;j System.out.print(" "+a[j]);
System.out.println("");

}

回答2:

这里错误应该是最后找最大最小数的时候错了。