Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我的代码不继续接受指定数量的输入?_Java - Fatal编程技术网

Java 为什么我的代码不继续接受指定数量的输入?

Java 为什么我的代码不继续接受指定数量的输入?,java,Java,我附上的代码片段是一种用于气泡排序的非优化方法。我面临的问题是,程序一直在接受输入,而没有继续执行主方法中的函数调用。是否有人指导我如何从代码中删除此异常 这是我的密码:- import java.util.*; 公共班机{ 公共静态void bubbleSort(int[]arr){ int i,j,t,n; n=阵列长度; 对于(i=0;i这个if(方法bubbleSort)有一个输入错误,它会导致一个无限循环。 更改: 致: 如果您将++i更改为i++,它能工作吗?无法复制,在我的机器上工

我附上的代码片段是一种用于气泡排序的非优化方法。我面临的问题是,程序一直在接受输入,而没有继续执行主方法中的函数调用。是否有人指导我如何从代码中删除此异常

这是我的密码:-

import java.util.*;
公共班机{
公共静态void bubbleSort(int[]arr){
int i,j,t,n;
n=阵列长度;

对于(i=0;i这个if(方法bubbleSort)有一个输入错误,它会导致一个无限循环。 更改:

致:


如果您将
++i
更改为
i++
,它能工作吗?无法复制,在我的机器上工作。@这只是另一个不会影响此代码行为的开发人员。@luk2302。哇……真的吗?问题是您的算法有缺陷,您在
泡泡排序(b)中进入无限循环
。是的,关于永不停止问题的答案是正确的,尽管算法仍然被破坏,但这不是问题所在。@DestructiveGamer现在请开始调试,添加断点,
System.out.println(…)
语句等,以理解为什么代码仍然不能按预期工作。好吧,问题是有点错误,程序没有无限地接受输入,存在导致无限循环的打字错误…算法并没有真正中断,只是比通常的bubblesort慢了一点,因为可以优化带有j的for没有,algo被破坏,输入一个5作为数组长度,然后输入5 4 3 2 1并检查结果数组:
{4,3,2,5,1,}
不是很好,你是对的,我刚刚意识到他说的是冒泡排序,而不是简单排序,而且根本不用j…他应该用j删除for,然后在检查整个数组时,在没有进行交换时,将剩余的for包装一段时间
import java.util.*;
public class Main {
    public static void bubbleSort(int[] arr){
        int i,j,t,n;
        n=arr.length;
        for (i=0;i<(n-1);++i){
            for (j=1;j<(n-i-1);++j){
                if(arr[i]>arr[i=1]){
                t=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=t;
                }
            }
        }
        printSortedArray(arr);
    }
    public static void printSortedArray(int[] arr){
        System.out.print("{");
        for (int j : arr) System.out.print(j + ",");
        System.out.print("}");

    }
    public static void main(String[] args) {
        int n;
        Scanner a = new Scanner(System.in);
        System.out.println("Enter a range for array");
        n=a.nextInt();
        int [] b=new int[n];
        for (int i=0;i<n;++i)
            b[i]=a.nextInt();
        bubbleSort(b);

    }
}
if(arr[i]>arr[i=1]){
if(arr[i]>arr[i+1]){