//文件名:CommandArgs.java
package book.basic;public class CommandArgs
{
public static void error1(String errmsg)
{
System.err.println(errmsg);
System.exit(1);
}
public static void main(String[] args)
{
String usageMsg="Usage: CommandArgs[options]\n"
+"Where [options] are:\n"
+"-help 显示帮助信息\n"
+"-n<name> 设置参数的名字\n"
+"-v<value> 设置参数的值\n";
String name=null;
String value=null;
}
for (int i=0;i<args.length;i++) //这里报错
{
if(args[i].equals("-n"))
{
if((i+1)==args.length)
{
error1 ("Error: -n requires an argument.");
}
name=args[++i];
}
else if(args[i].equals("-v"))
{
if((i+1)==args.length)
{
error1("Error: -v requires an argument.");
}
value=args[++i];
}
else if (args[i].equalsIgnoreCase("-help"))
{
System.out.println(usageMsg);
System.exit(0);
}
else
{
error1("Error: argument not recognzied:"+args[i]);
}
System.out.println("name: "+name+"; value:"+value);
}
}错误信息:
CommandArgs.java:21: 非法的类型开始
for (int i=0;i<args.length;i++)
^
CommandArgs.java:51: 需要 <标识符>
}
^
2 错误我想问一下,不能直接定义 i 并赋值吗?这到底是什么问题,太奇怪了。
package book.basic;public class CommandArgs
{
public static void error1(String errmsg)
{
System.err.println(errmsg);
System.exit(1);
}
public static void main(String[] args)
{
String usageMsg="Usage: CommandArgs[options]\n"
+"Where [options] are:\n"
+"-help 显示帮助信息\n"
+"-n<name> 设置参数的名字\n"
+"-v<value> 设置参数的值\n";
String name=null;
String value=null;
}
for (int i=0;i<args.length;i++) //这里报错
{
if(args[i].equals("-n"))
{
if((i+1)==args.length)
{
error1 ("Error: -n requires an argument.");
}
name=args[++i];
}
else if(args[i].equals("-v"))
{
if((i+1)==args.length)
{
error1("Error: -v requires an argument.");
}
value=args[++i];
}
else if (args[i].equalsIgnoreCase("-help"))
{
System.out.println(usageMsg);
System.exit(0);
}
else
{
error1("Error: argument not recognzied:"+args[i]);
}
System.out.println("name: "+name+"; value:"+value);
}
}错误信息:
CommandArgs.java:21: 非法的类型开始
for (int i=0;i<args.length;i++)
^
CommandArgs.java:51: 需要 <标识符>
}
^
2 错误我想问一下,不能直接定义 i 并赋值吗?这到底是什么问题,太奇怪了。
楼主【JAVA_mentu】截止到2008-07-16 23:27:38的历史汇总数据(不包括此帖):
发帖的总数量:7 发帖的总分数:130 每贴平均分数:18
回帖的总数量:29 得分贴总数量:10 回帖的得分率:34%
结贴的总数量:7 结贴的总分数:130
无满意结贴数:1 无满意结贴分:20
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:14.29 % 无满意结分率:15.38 %
敬礼!
}
for (int i=0;i<args.length;i++) //这里报错看for上面那个花括号,循环定义到方法外面去了,当然不让你定义了.仔细看看到底那个括号是哪里的.
{
public static void error1(String errmsg)
{
System.err.println(errmsg);
System.exit(1);
}
public static void main(String[] args)
{
String usageMsg="Usage: CommandArgs[options]\n"
+"Where [options] are:\n"
+"-help 显示帮助信息\n"
+"-n<name> 设置参数的名字\n"
+"-v<value> 设置参数的值\n";
String name=null;
String value=null;
for(int i=0;i<args.length;i++) //这里报错
{
if(args[i].equals("-n"))
{
if((i+1)==args.length)
{
error1 ("Error: -n requires an argument.");
}
name=args[++i];
}
else if(args[i].equals("-v"))
{
if((i+1)==args.length)
{
error1("Error: -v requires an argument.");
}
value=args[++i];
}
else if (args[i].equalsIgnoreCase("-help"))
{
System.out.println(usageMsg);
System.exit(0);
}
else
{
error1("Error: argument not recognzied:"+args[i]);
}
System.out.println("name: "+name+"; value:"+value);
}
}
}改好了