-2
私はjavaを初めて使っています。私はbubblesortアルゴリズムを使って配列をソートするプログラムを書いた。私は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);
}
}
Iは、コードを変更し、例外がなくなっています。配列は、putArray()関数 – Harish93
から表示されません。なぜなら、numArrayの値は –
に変更されないからです。なぜなら、arrはgetArray()関数内で初期化されるため、値は格納されません。だから、あなたはそれを返してそれを使う必要があります。私は答えを更新します。 –