Autor Tema: Java error "does not have a main metod" NetBeans clase números racionales  (Leído 2177 veces)

MegumiLawliet

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Hola a todos, intento compliar un programa usando netbeans que trabaje números racionales, pero al querer hacer que corra aparece la ventana de error "does not have a main metod" ¿qué puedo hacer?

Dejo aquí el codigo.


Código: [Seleccionar]
class racional {

  // ******************* atributos ***********************
  private int num;  // numerador
  private int den;  // denominador

  // ********** Métodos privados de la clase *************

  // método para calcular el máximo común divisor de dos
  // números enteros positivos. Algoritmo de Euclides
  private int mcd(int a, int b) {
     int r;
     while (a % b != 0) {
       r = a % b;
       a = b;
       b = r;
     }
     return b;
  }

  // método privado para simplificar una fracción que
  // represente un racional.

  // Por ejemplo: 60/-18  --simplifica--> -10/3

  // num != 0 && den != 0
  private void simplifica() {

     // es inf?
     if (den==0 && num !=0) num=1;
     // es 0?
     else if (den!=0 && num==0) den=1;
     // es una fracción? -> normalizarla
     else if (num!=0 && den!=0) {

            // valores absolutos:
            int absNum = Math.abs(num);
            int absDen = Math.abs(den);

            // signo del denominador:
            int signo = den/absDen;
            int s = mcd(absNum,absDen);

            num = signo*(num/s);
            den = signo*(den/s);
          }
    }
  //


  // ***********  Constructores de la clase  *************

  public racional (int num, int den) {
    this.num = num;
    this.den = den;
    // simplificación de la fracción
    simplifica();
  }

  public racional (int num) {
     this.num = num;
     this.den = 1;
  }

  // ***********   Operaciones aritméticas   *************
  //
  // Para mantener las convenciones aritméticas habituales
  // se han definido como operaciones "static"
  //

  public static racional suma (racional r1, racional r2) {
     racional sum = new racional(r1.num*r2.den+r1.den*r2.num,
                                                r1.den*r2.den);
     sum.simplifica();
     return sum;
  }

  public static racional resta (racional r1, racional r2) {
     racional dif = new racional(r1.num*r2.den-r1.den*r2.num,
                                                r1.den*r2.den);
     dif.simplifica();
     return dif;
  }

  public static racional multiplica (racional a, racional b) {
     racional mult = new racional(a.num*b.num, a.den*b.den);
     mult.simplifica();
     return mult;
  }

  public static racional inverso (racional a) {
     return new racional(a.den,a.num);
  }

  public static racional dividir (racional dn, racional dd) {
     return multiplica(dn, inverso(dd));
  }

   
  // ***************   Otras operaciones   *****************
                   
  // conversión a double:
  // this.den != 0
  public double todouble () {
     return num/den;
  }

  public String toString() {
     return this.num+"/"+this.den;
  }

  public boolean equals (racional r) {
     return (num==r.num && den==r.den);
  }

  public int compareTo (racional r) {
     if (this.equals(r)) return 0;
     else
     // supongamos que no es una indeterminación,
     // esto es num y den no son simultáneamente 0
     if (den == 0) return 1;
     else if (r.den==0) return -1;
     else // comparar números double
        if (this.todouble() > r.todouble()) return 1;
        else return -1;
  }
« Última modificación: 05 de Abril 2016, 10:29 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola MegumiLawliet

Para ejecutar un programa en método necesitas una clase con un método main.

Te recomiendo seguir este curso paso a paso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Ahí se explica todo lo necesario

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".