gpt4 book ai didi

java - 了解 public static void main(String[] args)

转载 作者:行者123 更新时间:2023-11-30 06:28:05 24 4
gpt4 key购买 nike

我是一名试图学习 Java 的 PHP/Mysql 程序员,但我被困在如何编译包含以下内容的文件中:

public static void main(String[] args)

示例代码如下:

import java.net.*;
import java.io.*;

public class GreetingClient
{
public static void main(String [] args)
{
String serverName = args[0];
int port = Integer.parseInt(args[1]);
try
{
System.out.println("Connecting to " + serverName
+ " on port " + port);
Socket client = new Socket(serverName, port);
System.out.println("Just connected to "
+ client.getRemoteSocketAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out =
new DataOutputStream(outToServer);

out.writeUTF("Hello from "
+ client.getLocalSocketAddress());
InputStream inFromServer = client.getInputStream();
DataInputStream in =
new DataInputStream(inFromServer);
System.out.println("Server says " + in.readUTF());
client.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}

当运行尝试在 Windows 命令提示符下使用 javac 命令将其从 .java 文件编译成 .class 文件以在网页中调用时,我收到一条错误消息:

bad class file: .\String.java
file does not contain class String
Please remove or make sure it appears in the correct subdirectory of the classpath.

public static void main(String[] args) {

如果像这样编译 .java 文件:

import java.applet.Applet;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Properties;
public class applet_test extends Applet {
private InetAddress addr = null;
public void init() {
try {
addr = InetAddress.getLocalHost();
}
catch (UnknownHostException e) {
System.exit(0);
}
}
public InetAddress getLHost() {
return addr;
}

}

我没有收到任何错误,.java 文件编译成 .class 文件,我可以在网页中正常使用 .class 文件。

不确定我做错了什么。

谢谢大家!


好的,现在,当我运行这个命令时:

C:\ > javac GreetingClient.java

我明白了:

GreetingClient.java:9: cannot find symbol
symbol : method parseInt(GreetingClient)
location: class java.lang.Integer
int port = Integer.parseInt(args[1]);
^
GreetingClient.java:14: cannot find symbol
symbol : constructor Socket(GreetingClient,int)
location: class java.net.Socket
Socket client = new Socket(serverName, port);
^
2 errors

同样,我似乎只在对包含以下行的文件运行 javac 命令时出错:

 public static void main(String[] args)

我知道我遗漏了一些东西,我们将不胜感激。

最佳答案

由于您的文件包含 class GreetingClient,因此必须将其命名为 GreetingClient.java。 Java 要求文件名与其中定义的类的名称相匹配。

关于java - 了解 public static void main(String[] args),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12944894/

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