试图纠正一个程序,甚至无法让它运行

时间:2011-05-03 21:50:25

标签: java class netbeans main

我正在使用Netbeans,并尝试运行“Rational”程序,以便我可以看到需要修复的内容。但是,当我尝试运行它时,我收到错误“在Rational项目中找不到Rational.Main类”。我已经尝试重命名程序的几个方面,以使它看到主类(它在那里,我向你保证),但它仍然给出了这个错误。我以前见过它,但这是它似乎没有及时修复的唯一一次。

编辑:这比我想象的更成问题,这是更新的代码。是的,这是非常错误的。

 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);

      }
}
}

更新了截图:

http://i.stack.imgur.com/SX55P.png

3 个答案:

答案 0 :(得分:4)

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

只要让它们一样,你的问题就会解决。

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

答案 1 :(得分:0)

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

文件名应为Rational.java

签名应为:

公共类Rational

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

答案 2 :(得分:0)

可能你想要这样的东西:

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);


}
}