我可以编译它,但我不能运行这个java程序

时间:2017-06-18 19:56:25

标签: java compilation

  

大家好

     

我写了一个java程序,我可以编译它,但是当我想运行时   这个程序,将显示一个错误说:"找不到或   加载主类undefined"。

     

问题是什么?

package testmatrixmethods;
class TestMatrixMethods {
    public static void main(String[] args) {
        int[][] a=readMatrix();
        writeMatrix(a);
        System.out.println("Max in Matrix --> "+maxMatrix(a,a.length,a[0].length));

    }
    public static int maxMatrix(int[][] m){
        int max = m[0][0];
        for(int i=0;i<m.length;i++)
            for(int j=0;j<m[i].length;j++)
                if(max<m[i][j])
                    max=m[i][j];
        return max;
    }
    public static int maxMatrix(int[][] m,int rows,int cols){
        int max = m[0][0];
        for(int i=0;i<rows;i++)
            for(int j=0;j<cols;j++)
                if(max<m[i][j])
                    max=m[i][j];
        return max;
    }
    public static int[][] readMatrix(){
        java.util.Scanner input=new java.util.Scanner(System.in);
        int rows,cols;
        int[][] m;
        System.out.println("enter nuumber of rows: ");
        rows=input.nextInt();
        System.out.println("enter number of columns: ");
        cols=input.nextInt();
        System.out.println("enter "+rows+"x"+cols+" interger numbers");
        m=new int[rows][cols];
        for(int i=0;i<m.length;i++)
            for(int j=0;j<m[0].length;j++)
                m[i][j]=input.nextInt();
        return m;
    }
    public static void writeMatrix(int[][] m){
        for(int i=0;i<m.length;i++){
                    System.out.print("|");
            for(int j=0;j<m[i].length;j++)
                System.out.printf("%6d" , m[i][j]);
                        System.out.println("|");
                System.out.println();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您需要运行 java 虚拟机并将其传递给您的类/ jar。您还必须将包含“main”函数的主类的名称传递给它,该函数将是 testmatrixmethods.TestMatrixMethods int。

即。对于Windows:

%JAVA% -cp myProject.jar;relatedProject.jar mtestmatrixmethods.TestMatrixMethods -myProgramArs

答案 1 :(得分:0)

假设您在文件夹test

  1. 使用您的代码创建文件TestMatrixMethods.java

  2. 创建文件夹compiled

  3. 编译您的java类javac -d compiled TestMatrixMethods.java

  4. 文件夹compiled中的
  5. 出现了与您的java类同名的文件夹 包名称和此文件夹包含TestMatrixMethods.class

  6. 文件夹test中的
  7. 发出此命令

    java -cp "compiled" testmatrixmethods.TestMatrixMethods
    
  8. 完成