首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Java菜鸟有关问题,出现找不到错误

2011-11-30 
Java初学者问题,出现找不到错误初学Java两个星期,写了一个关于数组操作和循环的程序,在运行时出现下面的错

Java初学者问题,出现找不到错误
初学Java两个星期,写了一个关于数组操作和循环的程序,在运行时出现下面的错误,不知道改怎么改,麻烦各位看看:
MyArray.java:20:   不是语句
                                    Month[]={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八
月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};
                                              ^
MyArray.java:20:   需要   '; '
                                    Month[]={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八
月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};
                                                  ^
程序如下:
import   java.io.*;
public   class   MyArray
{  
  public   static   void   main(String   args[])   throws   IOException
  {
      BufferedReader   input=new   BufferedReader
      (new   InputStreamReader(System.in));                     //定义一个对象
      int   i,a,flag;
      String   inputString;                                                           //定义一个变量用于存储输入
        System.out.print( "请数组初始化选择 ");
        System.out.println( "请输入功能选择: ");
      System.out.println( "1.基本初始化数组             2.循环初始化数组 ");
        inputString=input.readLine();                                      
        i=Integer.parseInt(intputString);                               //得到用户输入
      String   Month[]=new   String   [12];
     
      switch(i)                                                                               //依据用户选择进行初始化
      {
      case   1:      
          Month[]={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};
          System.out.println( "基本初始化成功! ");
          break;
         
      case   2:
          for(a=0;a <12;a++)
          Month[a]=a+ "月 ";


          System.out.println( "循环初始化成功! ");
          break;
      }
      i=0;
      inputString= " ";
     
      System.out.println( "请数组显示方式: ");
      System.out.println( "1.for循环初始化数组 ");
      System.out.println( "2.while循环初始化数组 ");
      System.out.println( "3.do/while循环初始化数组 ");
        inputString=input.readLine();                                      
        i=Integer.parseInt(intputString);
       
        switch(i)
        {
        case   1:
        for(a=0;a <12;a++)
        {
            System.out.print(Month[a]);
          flag++;
          if   (flag/4==0)
          System.out.println( '   ');
        }
      break;
     
      case   2:
      a=0;
      while(a <12)
      {
      System.out.print(Month[a]);
          flag++;
          if   (flag/4==0)
          System.out.println( '   ');
      }
      break;
     
          case   3:
              a=0;
              do
              {
              System.out.print(Month[a]);
              a++;
              flag++;
          if   (flag/4==0)
          System.out.println( '   ');
      }while(a> 12);
        }
       
        i=0;
      inputString= " ";
        System.out.println( "请输入某个数字,Java将告诉你它的含义 ");
        inputString=input.readLine();                                      
        i=Integer.parseInt(intputString);
        for(a=0;a <12;a++)
        {
        if   (i==a)
        System.out.println( "Java   tell   me "+i+Month[a]);
        else
        System.out.println( "Java   tell   me "+i+ "Oh   My   God! ");
        }        
    }
}
 
     
   


     


[解决办法]
import java.io.*;
public class MyArray
{
public static void main(String args[]) throws IOException
{
BufferedReader input=new BufferedReader
(new InputStreamReader(System.in)); //定义一个对象
int i,a,flag=0; //修改
String inputString; //定义一个变量用于存储输入
System.out.print( "请数组初始化选择 ");
System.out.println( "请输入功能选择: ");
System.out.println( "1.基本初始化数组 2.循环初始化数组 ");
inputString=input.readLine();
i=Integer.parseInt(inputString); //修改 //得到用户输入
String Month[]=new String [12];

switch(i) //依据用户选择进行初始化
{
case 1:
String month[]={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};
Month = month; // 修改
System.out.println( "基本初始化成功! ");
break;

case 2:
for(a=0;a <12;a++)
Month[a]=a+ "月 ";
System.out.println( "循环初始化成功! ");
break;
}
i=0;
inputString= " ";

System.out.println( "请数组显示方式: ");
System.out.println( "1.for循环初始化数组 ");
System.out.println( "2.while循环初始化数组 ");
System.out.println( "3.do/while循环初始化数组 ");
inputString=input.readLine();
i=Integer.parseInt(inputString); // 修改

switch(i)
{
case 1:
for(a=0;a <12;a++)
{
System.out.print(Month[a]);
flag++;
if (flag/4==0)
System.out.println( ' ');
}
break;

case 2:
a=0;
while(a <12)
{
System.out.print(Month[a++]); // 修改
flag++;
if (flag/4==0)
System.out.println( ' ');
}
break;

case 3:
a=0;
do
{
System.out.print(Month[a]);
a++;
flag++;
if (flag/4==0)
System.out.println( ' ');
}while(a <12); //修改
}

i=0;
inputString= " ";
System.out.println( "请输入某个数字,Java将告诉你它的含义 ");
inputString=input.readLine();
i=Integer.parseInt(inputString); //修改
for(a=0;a <12;a++)
{
if (i==a)
System.out.println( "Java tell me "+i+Month[a]);
else
System.out.println( "Java tell me "+i+ "Oh My God! ");
}
}
}

错误的地方都加了修改,编译运行通过,看看吧

[解决办法]
Month[]={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八
月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};
改为:
String[] month={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八
月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};

[解决办法]
Month[]={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八


月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};
=========================================================
如果是初始化,就要写成Strig Month[] = []={ "一月 ", "二月 ", "三月 ", "四月 ", "五月 ", "六月 ", "七月 ", "八月 ", "九月 ", "十月 ", "十一月 ", "十二月 "};;
如果已经定义了要赋值,没别的办法,只能Month[i] = "xxxx ";
没有你的这种写法

热点排行