2017-06-18 76 views
-1

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

我写一个Java程序,我可以编译它,但是当我要运行 这个程序,将显示一个错误说:“找不到或 加载主类未定义”。

是什么问题?

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

什么是您用来执行类的命令行? – NormR

+2

你是如何调用你的程序的? – koral

+0

你不能运行你的程序,我不能猜测你在哪里运行你的程序。 – Blasanka

回答

0

你需要运行一个Java的虚拟机,并通过它自己的类/瓶。你还必须传递包含'主'功能的主类的名称,这将是testmatrixmethods.TestMatrixMethods int您的情况。

即对于Windows:

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

假设你在文件夹test

  1. 创建文件TestMatrixMethods.java与您的代码。

  2. 创建文件夹compiled

  3. 编译Java类javac -d compiled TestMatrixMethods.java

  4. 在文件夹compiled

    出现文件夹相同的名称Java类 包名称和该文件夹中包含TestMatrixMethods.class

  5. 在文件夹test把这个命令

    java -cp "compiled" testmatrixmethods.TestMatrixMethods 
    
  6. done
相关问题