Java 尝试更正程序时,可以';我甚至不能让它运行

Java 尝试更正程序时,可以';我甚至不能让它运行,java,class,netbeans,main,Java,Class,Netbeans,Main,我正在使用Netbeans,并试图让一个程序“Rational”运行,这样我就可以看到需要修复的内容。然而,当我尝试运行它时,我得到了错误“Rational.Main类在Rational项目中找不到”。我尝试过重命名程序的几个方面,使其能够看到主类(我向您保证,它就在那里),但仍然会出现此错误。我以前见过,但这是唯一一次它似乎没有及时修复自己 编辑:这个问题比我想象的要严重,下面是更新的代码。是的,这是非常错误的 package Rational; public class Ration

我正在使用Netbeans,并试图让一个程序“Rational”运行,这样我就可以看到需要修复的内容。然而,当我尝试运行它时,我得到了错误“Rational.Main类在Rational项目中找不到”。我尝试过重命名程序的几个方面,使其能够看到主类(我向您保证,它就在那里),但仍然会出现此错误。我以前见过,但这是唯一一次它似乎没有及时修复自己

编辑:这个问题比我想象的要严重,下面是更新的代码。是的,这是非常错误的

 package Rational;

  public class Rational {
        int x, y;



       public Rational () {
        this.x = 0;
        this.y = 0;
    }

    public static void printRational (Rational x) {
        System.out.println (x);
    }
    public Rational (int x, int y) {
        this.x = x;
        this.y = y;
    }
    public static void negate (int x) {
        x = -x;
        System.out.println (x);
    }
    public static void invert (int x, int y) {
        int g = x;
        x = y;
        y = g;
        System.out.print (x);
        System.out.print ("/");
        System.out.println (y);
    }
    public static void toDouble (int x, int y) {
        double f = x/y;
        System.out.println (f);
    }
    public static int GCD(int a, int b)
{
   if (b==0) return a;
   return GCD(b,a%b);
}
    public static void reduce (int x, int y) {
        x = x/(GCD (x,y));
        y = y/(GCD (x,y));
        System.out.print (x);
        System.out.print ("/");
        System.out.println (y);
    }
    public static void add (int x, int y) {
        double z = x+y;
        System.out.println (z);
    }






public static void main(String args[]) {
     Rational g = new Rational ();{
g.x = 1;
g.y = 2;
System.out.println ("vgds");
//Rational.printRational (g);

      }
}
}
更新截图:


您的类名是Rational,但文件名是Main.java

只要让他们保持一致,你的问题就会解决。

对于java中的任何公共类,文件名和类名都应该相同,
一个文件只能包含一个公共类。

您的类名是Rational,但文件名是Main.java

只要让他们保持一致,你的问题就会解决。

对于java中的任何公共类,文件名和类名都应该相同,
一个文件只能包含一个公共类。

除了前面的答案提到的文件名问题之外,您还需要将类Rational公开,如果您将包名与类名相同,您可能会遇到问题

文件名应该是Rational.java

签名应为:

公共阶级理性


包名也不应该是理性的。如果您愿意,您可以使用小写的“rational”。

除了前面的答案提到的文件名问题之外,您还需要将类rational公开,如果将包名与类名相同,您可能会遇到问题

文件名应该是Rational.java

签名应为:

公共阶级理性


包名也不应该是理性的。如果您愿意,可以使用小写的“rational”。

可能您想要这样的东西:

package Rational;

public class Rational {
int x, y;

public Rational() {
    this.x = 0;
    this.y = 0;
}

public static void print(Rational r)
{       
    System.out.println("" + (r.x + r.y));
}

// other stuff

public static void main(String args[]) {
    Rational g = new Rational();
    g.x = 1;
    g.y = 2;

    Rational.print(g);


}
}

也许你想要这样的东西:

package Rational;

public class Rational {
int x, y;

public Rational() {
    this.x = 0;
    this.y = 0;
}

public static void print(Rational r)
{       
    System.out.println("" + (r.x + r.y));
}

// other stuff

public static void main(String args[]) {
    Rational g = new Rational();
    g.x = 1;
    g.y = 2;

    Rational.print(g);


}
}


在Main.java中是否有
public类Main
?能否发布包含
Rational.Main
类的源代码?(除了类和主方法标题外,您可以编辑任何内容)在运行之前是否编译了项目?因为主类似乎存在,它可能只是缺少的.class文件(或者它不在类路径上)。巴拉:我不知道,但我不确定它会去哪里。珍:我马上就发,当然。托马斯:我刚刚编译了它,选择了唯一可用的主类,然后运行,现在它似乎只显示了三行无限的正方形。你在main.java中有
公共类main
吗?你能发布包含
Rational.main
类的源代码吗?(除了类和主方法标题外,您可以编辑任何内容)在运行之前是否编译了项目?因为主类似乎存在,它可能只是缺少的.class文件(或者它不在类路径上)。巴拉:我不知道,但我不确定它会去哪里。珍:我马上就发,当然。托马斯:我刚刚编译了它,选择了唯一可用的主类,然后运行,现在它似乎只显示了三条无限长的正方形。这听起来很简单。我刚刚尝试重命名类名,但代码中出现错误,是否有方法重命名文件名?重命名时,必须用新名称替换以前使用的所有名称。最好使用编辑器的查找/替换工具,检查Rational.java文件是否在Rational文件夹下。因为你用了“包理性”。因此,文件结构应该类似于[your_working_directory]/src/Rational/Rational.java,如果它在正确的文件夹中,但仍然出现错误..然后上传更新的屏幕截图和整个代码好的,它正在运行,但只显示无限(理论上)条正方形。我将发布代码。这听起来很简单。我刚刚尝试重命名类名,但代码中出现错误,是否有方法重命名文件名?重命名时,必须用新名称替换以前使用的所有名称。最好使用编辑器的查找/替换工具,检查Rational.java文件是否在Rational文件夹下。因为你用了“包理性”。因此,文件结构应该类似于[your_working_directory]/src/Rational/Rational.java,如果它在正确的文件夹中,但仍然出现错误..然后上传更新的屏幕截图和整个代码好的,它正在运行,但只显示无限(理论上)条正方形。我会把密码寄出去。