输入一个维数,输出以下形式的矩阵和数列,以维数n=4为例: 
0000 
0111 
0122 
0123 import java.io.*;
import java.math.*;public class Matrix
{
  public static void printMatrix (int x )
  {
   int i=0;
   int j=0;
   private int [][] m = new int [x][x];
    for (i=0; i<x; i++)
    {
      for (j=0; j<x; j++)
      {
        m [i][j] = Math.min(i,j);
        System.out.print(m[i][j] + "\t");
      }
      System.out.println();
    }
  }
  public static void main (String args[]) throws IOException
  {
    int num;
    System.out.println("Please input a number :");
    num = System.in.read() - '0';
    printMatrix(num);
  }  
}
结果编译的时候显示出错,问题出在那个"private"上面,将"private“去掉,程序就OK了。
但我不知道为什么加上“private”就是“非法表达式”。本人是Java菜鸟,恳请高手点拨,万分感谢!!!

解决方案 »

  1.   

    你在方法里面声明private 变量干嘛...
    如果你一定要加上private,那你把它放到外面
        private static int[][] m;
        
        public static void printMatrix(int x) {
            int i = 0;
            int j = 0;
            m = new int[x][x];
            for (i = 0; i < x; i++) {
                for (j = 0; j < x; j++) {
                    m[i][j] = Math.min(i, j);
                    System.out.print(m[i][j] + "\t");
                }
                System.out.println();
            }
        }    public static void main(String args[]) throws IOException{
            int num;
            System.out.println("Please input a number :");
            num = System.in.read() - '0';
            printMatrix(num);
        }
      

  2.   

    这个问题的确很白痴,非常感谢melas的耐心答复,我已经明白了。:)
      

  3.   

    如果在方法内部定义变量,作用域就是整个方法,所以没必要private。