2014-04-24 55 views
0

我開始學習編程和Java,並且我有一個問題,至今我無法自己解決。我是從Linux終端使用運行程序:線程「main」中的異常acm.util.ErrorException:無法確定主類。

首先javac創建.class文件

javac -classpath acm.jar Chap6_ex1.java 

想在這裏補充一點,無論是acm.fileChap5_ex3.java文件在相同的位置都終端路徑。

然後我運行此命令

java -cp .:acm.jar Chap6_ex1 

輸出我得到的是:

Exception in thread "main" acm.util.ErrorException: Cannot determine the main class. 
    at acm.program.Program.main(Program.java:1358) 

我不明白出了什麼問題,我所有的早期版本的程序沒有問題的工作。 我懷疑這個問題是由RandomGenerator課程基於java.util包中的另一個叫做Random的課程引起的,但我不知道是誰來讓程序工作。

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


class Chap6_ex1 extends ConsoleProgram { 


    public void run() { 

     println("This program displays a randomly schosen card.");  
     int number = rgen.nextInt(1 ,13); 
     int suit = rgen.nextInt(1 ,4); 
     cardNumber(number); 
     print(" of "); 
     suitNumber(suit); 
    } 
    private void cardNumber(int n){ 
     switch (n) { 
      case 1 : 
       println("Ace"); 
       break; 
      case 11 : 
       println("Jack"); 
       break; 
      case 12 : 
       println("Queen"); 
       break; 
      case 13: 
       println("King"); 
       break; 
      default : 
       println(""+n); 
       break; 
     } 
    } 

    private void suitNumber (int n) { 
     if(n == 1){ 
      print("Clubs");} 
     else if (n ==2){ 
      print("Diamonds");} 
     else if (n == 3){ 
      print("Hearts");} 
     else { 
      print("Spades");} 
    } 


    private RandomGenerator rgen = RandomGenerator.getInstance(); 

} 
+0

這是你的整個程序嗎?如果是,它應該如何開始?你錯過了主要的方法那正是編譯器所說的 – Ziker

+2

我建議你看看對Acm.jar有貢獻的Program.java,無論你在哪裏... –

回答

0

發現了這個問題,我忘了在Class聲明的開始處公開。

相關問題