2013-02-16 47 views
0

我創建了下面的代碼的源文件的.java:使用命令「javac的」命令提示「拒絕訪問」錯誤一個簡單的Java程序

// bank.java 
// demonstrates basic OOP syntax 
// to run this program: C>java BankApp 
//////////////////////////////////////////////////////////////// 
class BankAccount 
{ 
private double balance;     // account balance 
public BankAccount(double openingBalance) // constructor 
{ 
balance = openingBalance; 
} 
public void deposit(double amount)  // makes deposit 
{ 
balance = balance + amount; 
} 
public void withdraw(double amount)  // makes withdrawal 
{ 
balance = balance - amount; 
} 
public void display()      // displays balance 
{ 
System.out.println(「balance=」 + balance); 
} 
} // end class BankAccount 
//////////////////////////////////////////////////////////////// 

class BankApp 
{ 
public static void main(String[] args) 
{ 
BankAccount ba1 = new BankAccount(100.00); // create acct 
System.out.print(「Before transactions, 「); 
ba1.display();       // display balance 
ba1.deposit(74.35);     // make deposit 
ba1.withdraw(20.00);     // make withdrawal 
System.out.print(「After transactions, 「); 
ba1.display();       // display balance 
} // end main() 
} // end class BankApp 

我編譯它,並得到了兩個類文件 - 每個一個一個班。 我嘗試用CMD運行它,但我得到的錯誤「拒絕訪問」後,我輸入:鍵入後

C:\new>java -cp <C:\new> BankApp.class 

C:\new>java BankApp.class 

我得到:錯誤:無法找到或加載主類BankApp.class

回答

3

此命令

C:\new>java -cp <C:\new> BankApp.class 

嘗試從01重定向輸入並將輸出重定向到BankApp.class。在Windows命令提示符下(以及大多數其他命令提示符),<重定向輸入和>重定向輸出。另外,當你運行一個Java類時,你沒有指定.class,你給名稱,而不是文件名。

如果你的目標是確保當前目錄是在classpath中,你正在尋找有什麼:

C:\new>java -cp . BankApp 

如果你的目標是確保該目錄c:\new是在類路徑(即使它不是當前目錄,雖然它是在你的例子),你正在尋找有什麼:

C:\new>java -cp c:\new BankApp 

注意,命令你第一次嘗試馬y已刪除或截斷了您的BankApp.class文件,因此您可能必須在上述操作之前重新編譯它。

1

你只需要:

java BankApp 

或者

java -cp c:\new BankApp 

的Java需要類,而不是一個文件的名字......如果你使用<>是在問Windows外殼執行重定向,這是你不想要的。