Java 比较行没有';我不工作,为什么?我怎样才能修好它? publicstaticvoidmain(字符串[]args){ int[]我的号码={17892035189914562013, 1458, 2458, 1254, 1472, 2365, 1456, 2165, 1457, 2456}; 对于(int i=0;i

Java 比较行没有';我不工作,为什么?我怎样才能修好它? publicstaticvoidmain(字符串[]args){ int[]我的号码={17892035189914562013, 1458, 2458, 1254, 1472, 2365, 1456, 2165, 1457, 2456}; 对于(int i=0;i,java,error-handling,Java,Error Handling,首先在执行(i+1)之前添加if条件,因为当我是最后一个元素时,它会给您ArrayIndex越界异常。尝试以下操作: public static void main(String[] args) { int[] my_Numbers= {1789, 2035, 1899, 1456, 2013, 1458, 2458, 1254, 1472, 2365, 1456, 2165, 1457, 2456}; for(int i=0;

首先在执行(i+1)之前添加if条件,因为当我是最后一个元素时,它会给您ArrayIndex越界异常。

尝试以下操作:

public static void main(String[] args) {
    int[] my_Numbers= {1789, 2035, 1899, 1456, 2013, 
            1458, 2458, 1254, 1472, 2365, 
            1456, 2165, 1457, 2456};
    for(int i=0; i < my_Numbers.length;){
        if (Integer.compare(my_Numbers[i],my_Numbers[(i+1)])==1) {
            int x = my_Numbers[i];
            my_Numbers[i] = my_Numbers[i+1];
            my_Numbers[i+1] = x;
            i=0;
        }else {i++;}
    }
    String  result= my_Numbers.toString();
    System.out.println(result);
}
publicstaticvoidmain(字符串[]args){
int[]我的号码={17892035189914562013,
1458, 2458, 1254, 1472, 2365,
1456, 2165, 1457, 2456};
对于(int i=0;i
它以什么方式不起作用?这不是打印数组的方式。欢迎使用堆栈溢出!请阅读一个好问题的指南。此外,寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误,以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。除了您报告的问题之外,
String result=my_Numbers.toString()不会做你想做的事。您应该改用
Arrays.toString(myNumbers)
。很高兴能为您提供帮助
public static void main(String[] args) {
    int[] my_Numbers= {1789, 2035, 1899, 1456, 2013,
            1458, 2458, 1254, 1472, 2365,
            1456, 2165, 1457, 2456};
    for(int i=0; i < my_Numbers.length-1;){
        if (Integer.compare(my_Numbers[i],my_Numbers[(i+1)])==1) {
            int x = my_Numbers[i];
            my_Numbers[i] = my_Numbers[i+1];
            my_Numbers[i+1] = x;
            i=0;
        }else {i++;}
    }
    String  result= Arrays.toString(my_Numbers);
    System.out.println(result);
}