Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Senior++ en 21 Abril 2012, 17:13 pm



Título: [Aporte] Peso en diferentes Planetas
Publicado por: Senior++ en 21 Abril 2012, 17:13 pm
Bueno e creado una aplicación sencilla en Java y pongo el código fuente por si alguien se esta iniciando en Java...

Este programa trabaja por Consola y pones tu peso en la tierra y te dice tu PESO en:

Mercurio,venus,luna,marte,jupiter,saturno,urano,neptuno,pluton,IO,Calisto,Sol,enana blanca,EST.DE.NEUTRONES


Código:
class Operadores{
public static void main(String[]args){
System.out.println("Tu peso en la Tierra es de ");
double peso = 55;
 System.out.println(peso);

 System.out.println("Tu peso en la Mercurio es de ");
double mercurio = peso * .378;
System.out.println(mercurio);

System.out.println("Tu peso en la luna es de ");
double luna = peso * .166;
System.out.println(luna);

System.out.println("Tu peso en la venus es de ");
double venus = peso * .906;
System.out.println(venus);

System.out.println("Tu peso en la Marte es de ");
double martes = peso * .379;
System.out.println(martes);

System.out.println("Tu peso en la Jupiter es de ");
double jupiter = peso * .2533;
System.out.println(jupiter);

System.out.println("Tu peso en la Saturno es de ");
double saturno = peso * .1066;
System.out.println(saturno);

System.out.println("Tu peso en la Urano es de ");
double urano = peso * .905;
System.out.println(urano);

System.out.println("Tu peso en la Pluton es de ");
double pluton = peso * .67;
System.out.println(pluton);

System.out.println("Tu peso en la IO es de ");
double IO = peso * .127;
System.out.println(IO);


System.out.println("Tu peso en la Pluton es de ");
double Calisto = peso * .183;
System.out.println(Calisto);

System.out.println("Tu peso en la Enana blanca es de ");
double enana = peso * .1300000000;
System.out.println(enana);

System.out.println("Tu peso en el SOL es de ");
double sol = peso * .27072;
System.out.println(sol);

System.out.println("Tu peso en  NEUTRONES es de ");
double neutrones = peso * .140000000000000;
System.out.println(neutrones);

}


}


Saludos


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: 1mpuls0 en 22 Abril 2012, 01:14 am
Te falta especificar la unidad con la que estas midiendo el peso.
Cambia el nombre de la clase Operaciones, pues que directamente no tiene que ver con el calculo que estas haciendo.

Te sugiero:
1. Leer el valor del peso
2. Crear un menú


Saludos.


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: visualfree en 22 Abril 2012, 20:36 pm
Seria mas lindo pasaras todo eso a Orientación a Objetos y te olvidaras de la programación
estructurada.


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: Debci en 23 Abril 2012, 14:41 pm
Muchas gracias por tu aporte.
Dos cosillas :P
1-Como ya te han comentado, podrías hacer uso de la bienlograda POO que ofrece un lenguaje como Java.
2-Acostúmbrate a usar las etiquetas GeSHi de Java (no tiene demasiada importancia, pero lo comento para futuros aportes).

Un saludo ;)


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: raul_samp en 24 Abril 2012, 23:13 pm
Esta bien pero ya que estamos programando en Java que no es un lenguaje al que le falten recursos podemos hacer algo mucho más molón en este tema. Algo como esto:
Código
  1. public enum Planeta {
  2.    MERCURIO (3.303e+23, 2.4397e6),
  3.    VENUS   (4.869e+24, 6.0518e6),
  4.    TIERRA   (5.976e+24, 6.37814e6),
  5.    MARTE    (6.421e+23, 3.3972e6),
  6.    JUPITER (1.9e+27,   7.1492e7),
  7.    SATURNO  (5.688e+26, 6.0268e7),
  8.    URANO  (8.686e+25, 2.5559e7),
  9.    NEPTUNO (1.024e+26, 2.4746e7);
  10.  
  11.    private final double masa;   // en kilogramos
  12.    private final double radio; // en metros
  13.    Planeta(double masa, double radio) {
  14.        this.masa = masa;
  15.        this.radio = radio;
  16.    }
  17.    private double masa() { return masa; }
  18.    private double radio() { return radio; }
  19.  
  20.    // Constante de Gravitación Universal  (m3 kg-1 s-2)
  21.    public static final double G = 6.67300E-11;
  22.  
  23.    double gravedad() {
  24.        return G * masa/ (radio* radio);
  25.    }
  26.    double pesoEnSuperficie(double masaObjeto) {
  27.        return masaObjeto * gravedad();
  28.    }
  29.    public static void main(String[] args) {
  30.        if (args.length != 1) {
  31.            System.err.println("Usage: java Planeta <peso_terrestre>");
  32.            System.exit(-1);
  33.        }
  34.        double pesoTerrestre = Double.parseDouble(args[0]);
  35.        double masa = pesoTerrestre / TIERRA.gravedad();
  36.        for (Planeta p : Planeta.values())
  37.           System.out.printf("Tu peso en %s es de %f%n",
  38.                             p, p.pesoEnSuperficie(masa));
  39.    }
  40. }
  41.  

(Traducción textual de http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html (http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html))

Aunque sea una característica del lenguaje bastante avanzada si lo miras bien se entiende y estoy seguro de que te enamoraras de su potencia xD


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: Senior++ en 25 Abril 2012, 17:49 pm
Gracias a todos los que contestaron... por cierto raul miraré tu codigo ;-)

Saludos


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: Senior++ en 29 Abril 2012, 21:31 pm
Edito: Me da error cuando lo ejecuto (Run file)

Me sale un cuadro de error y cuando le doy Run Anyway dice esto en la console

Código:
run:
Usage: java Planeta <peso_terrestre>
Java Result: -1
BUILD SUCCESSFUL (total time: 39 seconds)

Saludos


Título: Re: [Aporte] Peso en diferentes Planetas
Publicado por: raul_samp en 29 Abril 2012, 23:27 pm
Edito: Me da error cuando lo ejecuto (Run file)

Me sale un cuadro de error y cuando le doy Run Anyway dice esto en la console

Código:
run:
Usage: java Planeta <peso_terrestre>
Java Result: -1
BUILD SUCCESSFUL (total time: 39 seconds)

Saludos

Eso es porque le tienes que poner como argumentos a la llamada tu peso terrestre.
Para no liarte te pongo una modificación que te pide el peso:

Código
  1. import java.util.Scanner;
  2.  
  3. public enum Planeta {
  4. MERCURIO(3.303e+23, 2.4397e6), VENUS(4.869e+24, 6.0518e6), TIERRA(
  5. 5.976e+24, 6.37814e6), MARTE(6.421e+23, 3.3972e6), JUPITER(1.9e+27,
  6. 7.1492e7), SATURNO(5.688e+26, 6.0268e7), URANO(8.686e+25, 2.5559e7), NEPTUNO(
  7. 1.024e+26, 2.4746e7);
  8.  
  9. private final double masa; // en kilogramos
  10. private final double radio; // en metros
  11.  
  12. Planeta(double masa, double radio) {
  13. this.masa = masa;
  14. this.radio = radio;
  15. }
  16.  
  17. // Constante de Gravitación Universal (m3 kg-1 s-2)
  18. public static final double G = 6.67300E-11;
  19.  
  20. double gravedad() {
  21. return G * masa / (radio * radio);
  22. }
  23.  
  24. double pesoEnSuperficie(double masaObjeto) {
  25. return masaObjeto * gravedad();
  26. }
  27.  
  28. public static void main(String[] args) {
  29.  
  30. Scanner sc = new Scanner(System.in);
  31.  
  32. System.out.print("Introduce tu peso terrestre: ");
  33.  
  34. double pesoTerrestre = sc.nextDouble();
  35. double masa = pesoTerrestre / TIERRA.gravedad();
  36. for (Planeta p : Planeta.values())
  37. System.out.printf("Tu peso en %s es de %f%n", p,
  38. p.pesoEnSuperficie(masa));
  39. }
  40. }
  41.  
  42.