我是新來的編程和Java,我試圖寫一個簡單的泡沫排序算法。我可能會在我的頭上,我在Oracle的Java教程中並沒有太多的東西。我現在遇到的麻煩不在於自動排序,而是在創建數組並在排序之前將其打印出來。我需要幫助傳遞一個數組,並調用它的基本方法
這是我到目前爲止有:
public class BubbleSort {
public BubbleSort(int size) {
// creates array
int[] items = new int[size];
}
public void fillArray(int[] a) {
// fill array with random ints
for (int i=0; i<(a.length-1); i++) {
a[i] = java.util.Random.nextInt(50);
}
}
public void printArray(int[] a) {
for (int i=0; i<a.length; i++) {
System.out.print(a[i] + " ");
}
}
public void BubbleSortAlgorithm() {
// bubble sorting algorithm goes here
}
public static void main(String[] args) {
BubbleSort bubbleSort = new BubbleSort(20);
bubbleSort.fillArray(items);
bubbleSort.printArray(items);
// bubbleSort.BubbleSortAlgorithm(items);
// bubbleSort.printArray(items);
}
}
我得到3編譯器錯誤:
- 非靜態方法nextInt(INT)不能從靜態上下文中引用
這是因爲它在主要方法中調用?我該如何解決這個問題?第二,三,三,四,六,六,六編譯器找不到符號,項目。 Items是在類的構造函數中創建的整數的數組。我需要在主要方法中聲明它嗎?
我有一種感覺,我的班級結構完全關閉。再次,我很新。我也是新來的stackoverflow,所以我也很抱歉,如果這個問題不好。
歡迎棧溢出。我們對提問有特別的規則和指導,[幫助/如何問]是一個很好的開始。我看到的一個問題是,你的問題似乎沒有顯示研究工作。它確實有相關的代碼(它已經讓你領先於一些新用戶),但是你還沒有說過你到目前爲止嘗試解決你的錯誤。另一個是大多數用戶認爲像「我是新手編程和Java」是噪聲;他們分心的問題。這可以通過[編輯]修復。 – BSMP
是否可以粘貼具有3個錯誤詳細信息的實際堆棧跟蹤,以及它們發生的位置?沒有這一點,很難做到超出猜測。我可以告訴你,雖然它找不到符號項的原因是因爲你在你的一個方法中聲明瞭它,但是你試圖在你的主方法中使用它,你沒有聲明。你的程序中的一部分不知道什麼項目可以。如果你的每個方法都會接受一個數組作爲參數,那麼你應該在main方法中創建你的數組,而不是在你的類的構造函數中。 –