首页 > 解决方案 > 为什么我的代码没有继续接受指定数量的输入?

问题描述

我附上的代码片段是一种未优化的冒泡排序方法。我面临的问题是程序继续接受输入并且没有继续在 main 方法中调用函数。有人能指导我吗我应该怎么做才能从我的代码中删除这个异常?

这是我的代码:-

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);

    }
}

标签: java

解决方案


if(方法bubbleSort)中有一个错字,导致无限循环。改变:

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

到:

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

推荐阅读