2013-12-19 82 views
-2

我跟着斯坦福大學的CS106a班級一起試圖做這些工作。我很難從書中運行示例代碼,但設法使用ACM軟件包運行它們。現在我正在嘗試執行任務並運行我自己的代碼。我在該項目中創建了一個「項目」和一個.java文件。我不知道如何運行它。我不斷收到以下內容:斯坦福CS106a新手 - 在Eclipse中編譯時遇到問題

Error: Could not find or load main class Pyramid. 

我認爲這是因爲程序沒有訪問ACM軟件包。下面是代碼,雖然我認爲它會發生在我寫的任何代碼中。任何幫助,將不勝感激。

非常感謝。

import acm.graphics.*; 
import acm.program.*; 
import java.awt.*; 

public class GRectExample extends GraphicsProgram { 

    public void run() { 
    GRect rect = new GRect(100, 50, 125, 60); 
    rect.setFilled(true); 
    rect.setColor(Color.RED); 
    add(rect); 
    } 

} 

回答

1

創建GRectExample類中的主要方法,對examle

import acm.graphics.*; 
import acm.program.*; 
import java.awt.*; 

public class GRectExample extends GraphicsProgram { 

    public void run() { 
    GRect rect = new GRect(100, 50, 125, 60); 
    rect.setFilled(true); 
    rect.setColor(Color.RED); 
    add(rect); 
    } 

    public static void main(String args[]) 
    { 
    new GRectExample().run(); 
    } 
} 
+0

感謝您的回覆。所以我按照下面的代碼做了你的建議。我意識到我在問題中輸入了錯誤的代碼,但它應該運行相同。我點擊Run,它詢問我要運行哪種類型,並選擇了與文件同名的類型,但仍然出現「錯誤:無法找到或加載主類金字塔」。 – redgabe

+0

這裏是代碼:import acm.graphics。*; import acm.program。*; import java.awt。*; 公共類金字塔擴展GraphicsProgram { \t公共靜態無效的main(){ \t \t \t \t GRect RECT =新GRect(100,100,BRICK_WIDTH,BRICK_HEIGHT) \t \t加(矩形) \t} \t \t私人static final int BRICK_WIDTH = 30 // pixels \t private static final int BRICK_HEIGHT = 12 //像素 \t private static final int BRICKS_IN_BASE = 14 //磚上金字塔底部 \t \t public static void main(String args []){ \t new Pyramid()。run(); \t \t} \t } – redgabe

+0

不幸的是你無法顯示所有的代碼。無論哪種方式,你將不得不把它分開(分而治之)。開始註釋掉代碼行並重新編譯。那是add()繼承嗎? –

1

看起來你必須告訴Eclipse在哪裏可以找到的ACM包,大部分時間則不能假設的確切位置。

右鍵單擊您的項目文件夾並選擇屬性

選擇Java構建路徑選項,並單擊「添加外部JAR」,並且將它列入到您的項目......

enter image description here

+0

做到了,仍然得到錯誤 – redgabe

0

不太熟悉Eclipse,但這裏有一個建議:

  1. 右鍵 - 單擊該項目文件夾
  2. 點擊鐠在底部運行
  3. 單擊運行/調試設置
  4. 確保您的啓動類是列表。點擊它,確保它是主要等級
  5. 請確保您使用完全限定名稱,即mypackage.MyClass
  6. 也請嘗試單擊列表中的所有項目。並確保只有你想要成爲發射班的人填寫了主要類別字段。