繁体   English   中英

java.lang.ClassNotFoundException,PATH是正确的

[英]java.lang.ClassNotFoundException, PATH is corrent

我正在尝试创建一个简单的程序,但是JAVA当然会认为不是:它不是那么简单。 我需要动态实例化一个类,这意味着用户从键盘上给一个类名,然后创建一个具有该名称的类类型的对象。 码:

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错误。

我认为您对自己不太清楚的结构感到困惑。 最后,使用输入字符串的第二个值作为类加载。 如果您提供正确的字符串,它将被正确地修饰。 输入字符串:

"uj NimJatek"

将导致正确找到的类NimJatek-只要NimJatek在您的根包中并且此根包在您的类路径中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM