下面的代码给出 “线程“main”java.lang.Error 中出现异常: Unresolved 编译问题: url 无法解析为变量” 错误。命令行参数可以有三四个,所以我用了一个if语句来测试它,但是代码似乎没有从命令行获取String url。
public static void main(String[] args) throws Exception {
Socket sock = new Socket("kjlkjlkjl", 80);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
writer.write("GET "+ url +"HTTP/1.1\r\n"
+ "Host: jhkjhkjhkjh\r\n"
+ "Connection: keep-alive\r\n"
+ "\r\n");
}
最佳答案
您确定您的url
位于if-else
语句内,并且您的writer
看不到它。
通过以下方式更改您的代码:
String url;
String target;
String replacement;
int odd = -1;
if(args.length > 3)
{
odd = Integer.parseInt(args[0]);
url = args[1];
target = args[2];
replacement = args[3];
}
else if(args.length > 2)
{
url = args[0];
target = args[1];
replacement = args[2];
}
编辑:我认为你需要观看 basics
关于java - 不同数量的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19799154/