Попытка исправить программу, даже не может заставить ее работать - PullRequest
0 голосов
/ 04 мая 2011

Я использую 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);

      }
}
}

Обновлен скриншот:

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

Ответы [ 3 ]

4 голосов
/ 04 мая 2011

Ваше имя класса Rational, но ваше имя файла Main.java

Просто сделайте их такими же, ваша проблема будет решена.

Для любого открытого класса в Java имя файла и имя класса должны быть одинаковыми, а также, файл может содержать только один открытый класс.

0 голосов
/ 04 мая 2011

Может быть, вы хотели что-то вроде этого:

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


}
}
0 голосов
/ 04 мая 2011

Помимо проблемы с именем файла, на которую ссылается предыдущий ответ, вам также нужно сделать класс Rational общедоступным, и у вас, вероятно, возникнут проблемы, если вы сделаете имя пакета таким же, как и имя класса.

Имя файла должно быть Rational.java

Подпись должна быть:

публичный класс Rational

Имя пакета также не должно быть Rational. Вы можете использовать строчные буквы «рациональные», если хотите.

...