读书人

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

发布时间: 2011-11-30 21:16:57 作者: rapoo

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 ";
没有你的这种写法

读书人网 >J2SE开发

热点推荐