0
我試圖創建一個簡單的程序,但當然JAVA認爲:否則不是那麼簡單。 我需要動態實例化一個類,這意味着用戶從鍵盤提供了一個類名,然後創建了具有該名稱的類類型的對象。 代碼:java.lang.ClassNotFoundException,PATH is corrent
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.*;
public class NimMain {
public static void main(String[] args) throws IOException {
BufferedReader Olvaso = new BufferedReader(new InputStreamReader(System.in));
String be = Olvaso.readLine();
String[] kapcsolo = be.split(" ");
switch (kapcsolo[0]) {
case "uj": uj(kapcsolo);
case "lep":
case "listaz":
case "ment":
case "tolt":
}}
public static void uj(String[] s) {
try {
int b = 2;
String nev = s[1];
Class NimJatek = Class.forName(nev);
Constructor con = NimJatek.getConstructor(String[].class, int.class);
Object xyz = con.newInstance(s,b);
} catch (Exception e) {
e.printStackTrace();
}
}
}
從而未能實例化的類是NimJatek
,它是在相同的目錄下,在相同(未命名)封裝。 當我嘗試運行這個程序時,它給出java.lang.ClassNotFoundException
錯誤。
我是新來的Java和編程。您提供的輸入流是正確的,但這並不是我想要的。輸入字符串將是「uj WHATEVERNAME」,WHATEVERNAME將是NimJatek類的實例化,我該如何實現這一點? – user3420063
作爲java的初學者,我建議您在使用自省之前先學習基礎知識。什麼是課堂?什麼是實例?什麼是繼承?什麼是類型?什麼是變量?什麼是常數?什麼是構造函數?什麼是包裹?什麼是類路徑?而且 - 最重要的是 - 這一切如何一起工作? – Heri
我是用C++做的,在我學習的大學裏,JAVA是強制性的。到目前爲止,它已經是一塊****了。我想我明白爲什麼人們討厭JAVA。 – user3420063