gpt4 book ai didi

java - Eclipse 启动错误的 .Class 文件

转载 作者:行者123 更新时间:2023-12-02 06:01:01 25 4
gpt4 key购买 nike

我对 Java 比较陌生,而且我一直遇到一个反复出现的问题,这让我很沮丧。

我在同一个项目文件夹中有两个类文件:“Main.java”和“Client.java”。

“Main.java”是服务器(我首先运行它)。我尝试运行 Client.java 连接到服务器。然而,无论我如何尝试修复此问题,它都会不断重新启动“Main.java”。我尝试过选择“运行方式”和“运行配置..”,但似乎没有任何效果。这种情况在我的几个项目中都发生过,但我似乎无法找到解决方案。

这是我的代码:

1:Main.java

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
import java.util.ArrayList;

public class Main {

public static void main(String[] args) throws IOException {
try {
final int PORT = 6677;
ServerSocket server = new ServerSocket(PORT);
System.out.println("Waiting for clients...");

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();
}
}

}

2:Client.java

import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class Client implements Runnable {

private Socket socket;

public Client(Socket s) {
socket = s;
}

@Override
public void run() {
try {
Scanner in = new Scanner(socket.getInputStream());
PrintWriter out = new PrintWriter(socket.getOutputStream());

while (true) {
if (in.hasNext()) {
String input = in.nextLine();
System.out.println("Client Said: " + input);
out.println("You Said: " + input);
out.flush();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

}

非常感谢任何帮助。

谢谢。

最佳答案

这是因为程序的执行(无论它内部有多少个类)总是从包含“main()”函数的类开始。如您所见,Main.java 是包含 main() 函数的文件,因此该程序的执行始终从该文件开始。最简单的解决方案之一(不是最好的)是在主函数中创建客户端实例。希望这有帮助!

关于java - Eclipse 启动错误的 .Class 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22671786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com