java代码显示错误。 (';',预计)
问题描述:
class B {
int x,y;
int z;
z=x*y;
void show() {
System.out.println(z);
}
}
class A {
public static void main(String as[]) {
B b=new B();
b.show();
}
}
答
z=x*y;
你不能在这里做。把它里面的构造
class B {
int x,y;
int z;
//z=x*y; //you cant do it here. where are you getting x and y value by the way???
public B()
{
//x and y values should be set 'somehow' before this
z = x*y;
}
void show() {
System.out.println(z);
}
}
答
我觉得你的问题是在这些线路:
int z;
z=x*y;
这第一行是完全没有问题 - 它宣称所谓int
类型的z
一个类的实例变量。然而,第二行是你问题的根源。在Java中,将代码放在类方法或静态初始化程序之外的类中是非法的。在这种情况下,语句z = x * y;
是合法的Java代码,但它必须在方法内部。
要解决此问题,您可以将此代码移到构造函数或其他方法中。
答
z=x*y;
不在方法体内提及。你不能那样做。将其移至构造函数或其他方法。
在类内部体和外部方法体内,您只能提及字段,方法和内部类声明。
你能正确格式化你的代码并打印完整的错误信息(包括行号)吗? – PaulJWilliams 2011-02-01 10:01:57
你有问题吗? – Jon 2011-02-01 10:02:35
如果你以某种方式使它正确(构造函数或初始化块),你应该仔细考虑它背后的逻辑,因为你有x和y未初始化。 – 2011-02-01 10:07:23