public static void main(String[] args){
final int SIZE=15;
for(int x=1;x<=SIZE;x++){
for(int y=1;y<=SIZE;y++){
int z=x*y;
if(z<10)System.out.println("");
if(z<10)System.out.println("");
System.out.println(" "+z);
}
System.out.println(" "+z);
}
}
}
//出错信息:cannot resolve symbol variable z
----------------解决方案--------------------------------------------------------
int z 应该放到for循环之外,你现在的int z 生命周期在最里面的一个循环就没得了,第二句
System.out.println(" "+z);找不到z变量。
----------------解决方案--------------------------------------------------------
public class p3304{
public static void main(String[] args){
final int SIZE=15;
int z;
for(int x=1;x<=SIZE;x++){
for(int y=1;y<=SIZE;y++){
z=x*y;
if(z<10)System.out.println("");
if(z<10)System.out.println("");
System.out.println(" "+z);
}
System.out.println(" "+z);
}
}
}
----------------解决方案--------------------------------------------------------
楼上的也不对,虽然把z放到外面去了,但是没有初始化
应该在定义z时给它初始化一下
public class p3304{
public static void main(String[] args){
final int SIZE=15;
int z=0;
for(int x=1;x<=SIZE;x++){
for(int y=1;y<=SIZE;y++){
z=x*y;
if(z<10)System.out.println("");
if(z<10)System.out.println("");
System.out.println(" "+z);
}
System.out.println(" "+z);
}
}
}
----------------解决方案--------------------------------------------------------
变量的作用域问题
----------------解决方案--------------------------------------------------------
thank you
----------------解决方案--------------------------------------------------------
楼上的也不对,虽然把z放到外面去了,但是没有初始化
应该在定义z时给它初始化一下
public class p3304{
public static void main(String[] args){
final int SIZE=15;
int z=0;
for(int x=1;x<=SIZE;x++){
for(int y=1;y<=SIZE;y++){
z=x*y;
if(z<10)System.out.println("");
if(z<10)System.out.println("");
System.out.println(" "+z);
}
System.out.println(" "+z);
}
}
}
在这Z为什么要初始化啊?
----------------解决方案--------------------------------------------------------
不初始化就会出现空指针异常
这不像成员变量,成员变量可以不初始化,系统会自动赋一个初始值,但是局部变量都需要自己亲自去初始化的
----------------解决方案--------------------------------------------------------