初学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!");
}
}
}
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!");
}
}
}
MyArray.java:20: 非法的表达式开始
Month={"一月","二月","三月","四月","五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
^
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!");
}
}
}错误的地方都加了修改,编译运行通过,看看吧
月","九月","十月","十一月","十二月"};
改为:
String[] month={"一月","二月","三月","四月","五月","六月","七月","八
月","九月","十月","十一月","十二月"};
月","九月","十月","十一月","十二月"};
=========================================================
如果是初始化,就要写成Strig Month[] = []={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};;
如果已经定义了要赋值,没别的办法,只能Month[i] = "xxxx";
没有你的这种写法
月","九月","十月","十一月","十二月"};呵呵, 初学确实容易在数组这里出错...
我也是初学者,希望大家多多讨论,一起进步!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;
int i,a,flag=0;
String inputString; //定义一个变量用于存储输入
System.out.print("请数组初始化选择");
System.out.println("请输入功能选择:");
System.out.println("1.基本初始化数组 2.循环初始化数组");
inputString=input.readLine();
// 修改:i=Integer.parseInt(intputString); //得到用户输入
i=Integer.parseInt(inputString); //得到用户输入 // 修改:String Month[]=new String [12];
String Month[]=new String[12];
switch(i) //依据用户选择进行初始化
{
case 1:
// 修改:Month[]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
Month=new String[]{"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
System.out.println("基本初始化成功!");
break;
case 2:
for(a=0;a<12;a++) //修改
Month[a]=(a+1)+"月";
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);
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('\n');
}
*/
for(a=0;a<12;a++)
{
if(a%4==0){
System.out.println('\n');
}
System.out.print(Month[a]+" ");
}
break;
/*
case 2:
a=0;
while(a<12)
{
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);
*/
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('\n');
System.out.println("请输入某个数字,Java将告诉你它的含义");
inputString=input.readLine();
// 修改:i=Integer.parseInt(intputString);
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!");
}*/
if(i>0 && i<=12)
System.out.println(Month[i-1]);
else
System.out.println("Java tell me "+i+" Oh My God!");
}
}