大家好
我写了一个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();
}
}
}
答案 0 :(得分:0)
您需要运行 java 虚拟机并将其传递给您的类/ jar。您还必须将包含“main”函数的主类的名称传递给它,该函数将是 testmatrixmethods.TestMatrixMethods int。
即。对于Windows:
%JAVA% -cp myProject.jar;relatedProject.jar mtestmatrixmethods.TestMatrixMethods -myProgramArs
答案 1 :(得分:0)
假设您在文件夹test
使用您的代码创建文件TestMatrixMethods.java
。
创建文件夹compiled
编译您的java类javac -d compiled TestMatrixMethods.java
compiled
中的出现了与您的java类同名的文件夹 包名称和此文件夹包含TestMatrixMethods.class
test
中的发出此命令
java -cp "compiled" testmatrixmethods.TestMatrixMethods