私の割り当ては、整数の配列を作成し、値を入力し、ソートされていない値を出力し、値を昇順でソートし、最後にソートされた値を出力するJavaクラスを作成することでした。
ほとんどの場合、私はそれを実行し、出力は正常です。ただし、main()内で配列をローカルに定義し、それをパラメーターとして他のメソッドに渡すことができませんでした。私はそれを実行できないクラスの静的メンバーとして定義しようとしています。
誰かが私を助けることができますか?main()で配列を定義し、それをパラメーターとしてメソッドに渡す必要があります。しかし、たゆまぬ研究にもかかわらず、私はそれを理解することができません。
これが私がこれまでに持っているものです。
public class ArraySort {
private static Object sc;
int[] array;
// creates question and int for user input
/**
*
*/
public void fillArray() {
Scanner keyboardScanner = new Scanner(System.in);
System.out.println("Enter the size of the array (3 to 10): ");
int n = keyboardScanner.nextInt();
array = new int[n];
// creates new question by including int
System.out.println("Enter " + n + " values" );
// creates for loop for repeating question based on array size
for (int i=0; i<n; i++) {
System.out.println("Enter value for element " + i + ": ");
array[i] = keyboardScanner.nextInt();
}
}
// prints i in the for loop
public void printArray(String msg) {
System.out.println(msg);
for (int i=0; i<array.length; i++) {
System.out.println(array[i]);
}
}
// defines method
public void sortArray() {
// sets up to output in ascending order
for (int i=0; i<array.length; i++) {
for (int j=i+1; j<array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
// main output and visual layout
public static void main(String[] args) {
ArraySort arraySort = new ArraySort();
arraySort.fillArray();
System.out.println();
arraySort.printArray("The unsorted values... ");
arraySort.sortArray();
System.out.println();
arraySort.printArray("The sorted values... ");
// Keep console window alive until 'enter' pressed (if needed).
System.out.println();
System.out.println("Done - press enter key to end program");
}
}
エラーはありません。main()で配列をローカルに定義する方法についてのヘルプが必要です。
ありがとう。