public class Test {
public static void main(String[] args) { 
// TODO 自动生成方法存根 
String[] a = new String[12];
args=new String[12]; 
if(args[0].length()<=0) 
return; 
System.out.println("输入的月份为:"+args[0]); 
int month=8; 
try{ 
month=Integer.parseInt(args[0]); 
}catch(NumberFormatException nfe){ 
System.out.println("输入的格式错误!"); 
return; 

switch(month){ 
case 1:System.out.println("january"); 
break; 
case 2:System.out.println("february"); 
break; 
case 3:System.out.println("march"); 
break; 
case 4:System.out.println("april"); 
break; 
case 5:System.out.println("may"); 
break; 
case 6:System.out.println("june"); 
break; 
case 7:System.out.println("july"); 
break; 
case 8:System.out.println("august"); 
break; 
case 9:System.out.println("september"); 
break; 
case 10:System.out.println("october"); 
break; 
case 11:System.out.println("november"); 
break; 
case 12:System.out.println("december"); 
break; 
default: 
System.out.println("输入的月份不存在!"); 

} }

解决方案 »

  1.   

    args=new String[12];
    这里args是一个参数,他本身就是一个实例数组
    可以直接引用你在此新实例一个对象,没对他赋值args[0]当然为null,你在调用他的length当然为操作空指针
      

  2.   


                    if(args.length <= 0)
    //if (args[0].length() <= 0)
    return;
      

  3.   

    呵呵,正如#1 #2所说,String[] args=new new String[12];内部存放的知识12个String的引用,并不是实例!你直接调用里面的方法或者属性当然会报NullPointer,你应该先初始化,例如:args[0]=new String("string");args[0].length()