用java编写控制台输入10个数,按大小顺序输出。总是提示错误 求指导

2025-04-03 01:54:10
推荐回答(5个)
回答1:

  问题主要出在了sort(int[])方法

  1,Syfor是什么

  2,循环输出中ints[i]是一个不存在的变量

  3,冒泡排序写错了


  修改了一下:

  

public static void sort(int x[]){
         int temp;
         for(int j=0;j             for(int i=0;i<9-j;i++){
                 if(x[i]                     temp=x[i];
                     x[i]=x[i+1];
                     x[i+1]=temp;
                 } 
             }
         }
         for(int i=0;i<10;i++){
           System.out.print(x[i]+"\t");
         } 
    }

回答2:

if(x[i]

回答3:

你用了的冒泡法排序,一次循环只能将最小的挪到最后,前面九个还是乱序的。
另外控制循环有些问题,完整冒泡排序代码如下

public static void sort(int x[])
{
int temp;
int Len=x.length;
for(int i=0;i{
for(int j=0;j {
if(x[j] {
temp=x[j]; x[j]=x[j+1]; x[j+1]=temp;
}
}
}
for(int i=0;i {
System.out.print(x[i]+"\t");
}
System.out.println();
}

回答4:

排序要双重for循环。

public static void main(String[] args) {
int[] x = new int[10];
System.out.print("请输入十个整数:");
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
x[i] = sc.nextInt();
}
// 在控制台输入10个数,按大小顺序输出
sort(x);
}
public static void sort(int x[]) {
int temp;
for (int i = 0; i < 10; i++) {
for (int j = i + 1; j < 10; j++) {
if (x[i] < x[j]) {
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
for (int i = 0; i < 10; i++) {
System.out.print(x[i] + "\t");
}
}

回答5:

Syfor(int i=0;i<10;i++){

这里的Sy是怎么回事..