日期:2014-05-20  浏览次数:20724 次

java初学,求指教,代码编译出错
import java.util.*;
class RectangeDemo
{
Scanner sc = new Scanner(System.in);
public static void main(String[] args) 
{
System.out.println("请输入矩形行数:");//获取矩形行数
int m = sc.nextInt();
System.out.println("请输入矩形列数:");//获取矩形列数
int n = sc.nextInt();
rec(5,6);                   //调用函数实现矩形的输出
}

public static void rec(int x,int y)//实现矩形输出
{
for (int a=0;a<x ;a++ )
{
for (int b=0;b<y ;b++ )
{
System.out.print("*");
}
System.out.println();
}
}
}

------解决方案--------------------
第4行 前面加static 
  static Scanner sc = new Scanner(System.in);
------解决方案--------------------
你在全局变量中声明了一个sc对象
而你在静态方法(main)中使用了sc
sc不是静态变量所以编译错误!
只需要在 “Scanner sc = new Scanner(System.in);”前面加static修饰即可
“static Scanner sc = new Scanner(System.in);”