日期:2014-05-20  浏览次数:20874 次

新手请教关于带参数输入的问题
public class test
{
 /**编写一个程序,检查字符串是否为合法的Java标识符。
  */
public static void main(String args[])
 {
//获取命令行
  String str = new String(args[0]);
//判断命令行输入
  if(str.length()>=1)
  System.out.println("输入的字符串为:"+str);

  else
  System.out.println("错误,没有输入!");
//判断是否是有效的标识符
for(int i=0;i<str.length();i++)
{
  if(Character.isJavaIdentifierPart(str.charAt(i))|Character.isJavaIdentifierPart(str.charAt(i)))
  System.out.println(str.charAt(i)+"是合法的标识符!");
  else
  System.out.println(str.charAt(i)+"是非法的标识符!");  
 }
}
}


刚刚开始学习java,如果高手们觉得问题幼稚请不要见笑,谢谢
代码能够编译通过,但是有个问题,如果输入java test则就会报错,轮不到我去判断,java test后面有字符串倒好像是正常的,请不吝赐教.

------解决方案--------------------
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Test.main(Test.java:8)

数组越界的问题 因为你没有传参的时候 数组是空的这时候你去取第一个值 当然会报错。你首先判断一个args 的length是不是0 就好了