输出无法在java中找到或加载主类

输出无法在java中找到或加载主类,java,Java,在运行下面的代码时,我遇到了一个错误,无法在java中找到或加载主类。它编译时没有任何错误,但在运行它时,我在命令行上遇到了一个错误,无法在java中找到或加载主类 import java.util.*; import java.lang.*; class p8{ public static void main(String args[]){ int[] ar = new int[10]; int i, result=0, temp; fo

在运行下面的代码时,我遇到了一个错误,无法在java中找到或加载主类。它编译时没有任何错误,但在运行它时,我在命令行上遇到了一个错误,无法在java中找到或加载主类

import java.util.*;
import java.lang.*;
class p8{
    public static void main(String args[]){
        int[] ar = new int[10];
        int i, result=0, temp;
        for(i=0; i<args.length; i++){
            ar[i] = Integer.parseInt(args[i]);
        }       
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your choice");
        int Choice = sc.nextInt();
        switch(Choice){
            case 1: for(i=0; i<(ar.length); i++){
                    result = result + ar[i];
                }
                System.out.println("Sum is " + result);
                    break;
            case 2: for(i=0; i<(ar.length); i++){
                    result = result + ar[i];
                    result = result/ar.length;
                }
                System.out.println("Average is " + result);
                    break;

            default:
                System.out.println("Invalid Option");
                break;  
            }   
    }
}

重复我在评论中提供的答案:

您的类名(在代码中)必须与.java文件的类名相同

所以,改变这一行:

class p8{

然后再试一次

为了便于将来参考,最好将您的类声明为公共类:

public class p8{
不会编译,因为类的名称(在代码中)与文件的名称不匹配,而每个java文件只能有一个公共类,它必须与文件的名称完全相同

添加:即使在一个文件中有几个类是有效的,编译器也会在您指定的类中查找main方法,因此如果您运行pr8,它会在pr8类中查找main方法,而不是在同一文件中的另一个类中

补充:虽然我不同意另一张海报(从那时起,他删除了他的答案)给出的答案,但如果他解释得更多,他会有一点是正确的:


运行
JavaP8
也可以解决问题

重复我在评论中提供的答案:

您的类名(在代码中)必须与.java文件的类名相同

所以,改变这一行:

class p8{

然后再试一次

为了便于将来参考,最好将您的类声明为公共类:

public class p8{
不会编译,因为类的名称(在代码中)与文件的名称不匹配,而每个java文件只能有一个公共类,它必须与文件的名称完全相同

添加:即使在一个文件中有几个类是有效的,编译器也会在您指定的类中查找main方法,因此如果您运行pr8,它会在pr8类中查找main方法,而不是在同一文件中的另一个类中

补充:虽然我不同意另一张海报(从那时起,他删除了他的答案)给出的答案,但如果他解释得更多,他会有一点是正确的:


运行
JavaP8
也可以解决问题

重复我在评论中提供的答案:

您的类名(在代码中)必须与.java文件的类名相同

所以,改变这一行:

class p8{

然后再试一次

为了便于将来参考,最好将您的类声明为公共类:

public class p8{
不会编译,因为类的名称(在代码中)与文件的名称不匹配,而每个java文件只能有一个公共类,它必须与文件的名称完全相同

添加:即使在一个文件中有几个类是有效的,编译器也会在您指定的类中查找main方法,因此如果您运行pr8,它会在pr8类中查找main方法,而不是在同一文件中的另一个类中

补充:虽然我不同意另一张海报(从那时起,他删除了他的答案)给出的答案,但如果他解释得更多,他会有一点是正确的:


运行
JavaP8
也可以解决问题

重复我在评论中提供的答案:

您的类名(在代码中)必须与.java文件的类名相同

所以,改变这一行:

class p8{

然后再试一次

为了便于将来参考,最好将您的类声明为公共类:

public class p8{
不会编译,因为类的名称(在代码中)与文件的名称不匹配,而每个java文件只能有一个公共类,它必须与文件的名称完全相同

添加:即使在一个文件中有几个类是有效的,编译器也会在您指定的类中查找main方法,因此如果您运行pr8,它会在pr8类中查找main方法,而不是在同一文件中的另一个类中

补充:虽然我不同意另一张海报(从那时起,他删除了他的答案)给出的答案,但如果他解释得更多,他会有一点是正确的:



运行
JavaP8
也可以解决问题

如何运行代码和编译?此代码运行时应该没有任何问题。@qwerty:您使用的是哪个命令?@qwerty:将您的命令作为question@qwerty:文件中的类称为p8,而不是r8或pr8。如何尝试运行代码?并编译?此代码运行时应该没有任何问题。@qwerty:您使用的是哪个命令?@qwerty:将您的命令作为question@qwerty:文件中的类称为p8,而不是r8或pr8。如何尝试运行代码?并编译?此代码运行时应该没有任何问题。@qwerty:您使用的是哪个命令?@qwerty:将您的命令作为question@qwerty:文件中的类称为p8,而不是r8或pr8。如何尝试运行代码?并编译?此代码运行时应该没有任何问题。@qwerty:您使用的是哪个命令?@qwerty:将您的命令作为question@qwerty:您的文件中的类名为p8,而不是r8或pr8。谢谢你,伙计。。。我还想添加一个命令行示例,因为显然
javac
命令对OP有效,但我们只有他们的说法;)@MadProgrammer:他的javac和java命令之所以成功,是因为他的文件名为:pr8.java,而不是p8。java@Stultuske:P这很有道理,伙计。。。我还想添加一个命令行示例,因为显然
javac
命令对OP有效,但我们只有他们的说法;)@MadProgrammer:他的javac和java命令之所以成功,是因为他的文件名为:pr8.java,而不是p8。java@Stultuske:P这很有道理,伙计。。。被困了大约30分钟