2017-06-18 60 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
相關問題