【发布时间】:2017-03-17 20:54:45
【问题描述】:
我是 Java 新手。我编写了一个程序来使用冒泡排序算法对数组进行排序。我有 3 种方法 getArray()、putArray() 和 sortArray()。我已经从 main 函数中调用了所有这些方法,传递了元素的数量和一个数组作为参数。我已将一个空数组传递给getArray() 函数,并将该数组作为用户的输入。当我得到输入时,我得到了异常。请帮帮我。我真的被困了。`
import java.util.Scanner;
public class BubbleSort {
public void getArray(int num,int[]arr) {
System.out.print("Enter the total number of elements in the Array : ");
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
System.out.println(num);
System.out.print("Enter " + num + " Elements : ");
for (int i = 0; i < num; i++) {
arr[i] = sc.nextInt();
}
}
public void putArray(int num,int[] arr) {
System.out.print("The Array is: ");
for (int i = 0; i < num; i++) {
System.out.println(arr[i] + " ");
}
}
public void sortArray(int num,int[] arr) {
for (int i = 0; i < num; i++) {
boolean flag = false;
for (int j = 0; j < num - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
arr[j] = arr[j] + arr[j + 1];
arr[j + 1] = arr[j] - arr[j + 1];
arr[j] = arr[j] - arr[j + 1];
flag = true;
}
}
if (!flag) {
break;
}
}
}
public static void main(String[] args) {
int num=0;
int[] arr=null;
BubbleSort b = new BubbleSort();
b.getArray(num,arr);
b.putArray(num,arr);
b.sortArray(num,arr);
b.putArray(num,arr);
}
}
【问题讨论】:
标签: java arrays parameter-passing