java中错误: 非法的表达式开始
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中错误: 非法的表达式开始相关的知识,希望对你有一定的参考价值。
以下是我写的程序的一部分:
System.out.println("Enter‘m’or‘M’for Menu,‘q’or‘Q’for finalStats" );//prompt the user for a choice
choice1=scan1.next();
switch(choice1)
case "q":
case "Q":
finalStats(times_for_l,times_for_e,times_for_d,times_for_s,times_for_r,times_for_q,times_for_others);
.......................................
}
……………………
public static void finalStats(int times_for_l,int times_for_e,int times_for_d,int times_for_s,int times_for_r,int times_for_q,int times_for_others) //程序显示这行有错,:“非法的表达式开始”
............................
但这行有什么错呢?
public void finalStats追问
是应该不加static对吗?
追答用static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
追问 但在compiled以后还是有错误提示啊?
167:public void finalStats(int times_for_l,...,int times_for_others)
hongyichen.java:167: 错误: 非法的表达式开始
hongyichen.java:167: 错误: 需要';'
hongyichen.java:167: 错误: 不是语句
…?
但在compiled以后还是有错误提示啊?
167:public void finalStats(int times_for_l,...,int times_for_others)
hongyichen.java:167: 错误: 非法的表达式开始
hongyichen.java:167: 错误: 需要';'
hongyichen.java:167: 错误: 不是语句
…?
?
追答提示167行出错,也可能是前面一行写的不对. 你 finialStats 函数前面写对了吗? 直接用eclipse写多好? 自动纠错。
比如像下边,就能运行
public class test
static int t1=1;
static int t2=2;
static int t3=3;
static String t4;
static String t5="ABCD";
static int t6=7;
public static void main(String[] args)
System.out.println("only for test");
t4=t5.substring(t3);
switch(t4)
case "C":
System.out.println("k");
break;
case "D":
System.out.println("here");
break;
finialStats(t1, t2, t3);
System.out.println("t6="+t6);
public static void finialStats(int t1, int t2, int t3)
t6=t1+t2+t3;
出错原因,可能是和()等不匹配 参考技术D switch(choice1)中的choice1只能是int值或枚举变量,不能用String类型
以上是关于java中错误: 非法的表达式开始的主要内容,如果未能解决你的问题,请参考以下文章