Java-我有一个.get()的实例,但它在Server.Main.Main(Main.Java:18)处给出了错误Java.lang.NullPointerException
这是我的Main.java,它围绕着服务器套接字生成“get().logger().tag();”后的部分。我在实例中添加了所有这些,我真的不确定它到底出了什么问题Java-我有一个.get()的实例,但它在Server.Main.Main(Main.Java:18)处给出了错误Java.lang.NullPointerException,java,Java,这是我的Main.java,它围绕着服务器套接字生成“get().logger().tag();”后的部分。我在实例中添加了所有这些,我真的不确定它到底出了什么问题 public class Main { private Logger LOGGER; private static Main INSTANCE; public static void main(String[] args) throws IOException { try
public class Main {
private Logger LOGGER;
private static Main INSTANCE;
public static void main(String[] args) throws IOException {
try
{
final int PORT = 43594;
ServerSocket server = new ServerSocket(PORT);
System.out.println("Waiting for clients to connect...");
get().logger().tag(); //This is the part which gives the error
get().logger().log("Starting up" + Settings.Settings.NAME + "...");
//get().init();
while (true)
{
Socket s = server.accept();
//System.out.println("Client connected from " + s.getLocalAddress().getHostName());
Client chat = new Client(s);
Thread t = new Thread(chat);
t.start();
}
}
catch (Exception e)
{
System.out.println("An error occured.");
e.printStackTrace();
}
}
public Main(int world) {
this.LOGGER = new Logger();
}
public Main init() {
try {
long currentTime = Utils.currentTimeMillis();
logger().log("Completed loading in " + (Utils.currentTimeMillis() - currentTime) + " ms.");
} catch (Exception e) {
logger().error("Unable to start server...");
logger().error(e);
}
return this;
}
public Logger logger() {
return LOGGER;
}
public static Main get() {
return INSTANCE;
}
}
我知道这是get()要做的事情。但我不确定
任何帮助都会有很大帮助
谢谢,您没有在任何地方分配
实例
,鉴于它是私有的
,我猜它也是空的
分配
INSTANCE=newworld(…)
您忘记创建Main.INSTANCE=newworld(Integer.parseInt(args[0])的新实例//会是这样吗?我不太确定放在括号里的是什么我不知道,args[0]
你想要什么?测试它?public static void main1(String[]args){Settings.Settings.DEBUG=Boolean.parseBoolean(args[1]);INSTANCE=new Main(Integer.parseInt(args[0]);}//我不太清楚我添加了这些args之后该怎么做