[Aporte] Peso en diferentes Planetas

Iniciado por Senior++, 21 Abril 2012, 17:13 PM

0 Miembros y 1 Visitante están viendo este tema.

Senior++

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


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
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

1mpuls0

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.
abc

visualfree

Seria mas lindo pasaras todo eso a Orientación a Objetos y te olvidaras de la programación
estructurada.

Debci

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

raul_samp

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 (java) [Seleccionar]

public enum Planeta {
    MERCURIO (3.303e+23, 2.4397e6),
    VENUS   (4.869e+24, 6.0518e6),
    TIERRA   (5.976e+24, 6.37814e6),
    MARTE    (6.421e+23, 3.3972e6),
    JUPITER (1.9e+27,   7.1492e7),
    SATURNO  (5.688e+26, 6.0268e7),
    URANO  (8.686e+25, 2.5559e7),
    NEPTUNO (1.024e+26, 2.4746e7);

    private final double masa;   // en kilogramos
    private final double radio; // en metros
    Planeta(double masa, double radio) {
        this.masa = masa;
        this.radio = radio;
    }
    private double masa() { return masa; }
    private double radio() { return radio; }

    // Constante de Gravitación Universal  (m3 kg-1 s-2)
    public static final double G = 6.67300E-11;

    double gravedad() {
        return G * masa/ (radio* radio);
    }
    double pesoEnSuperficie(double masaObjeto) {
        return masaObjeto * gravedad();
    }
    public static void main(String[] args) {
        if (args.length != 1) {
            System.err.println("Usage: java Planeta <peso_terrestre>");
            System.exit(-1);
        }
        double pesoTerrestre = Double.parseDouble(args[0]);
        double masa = pesoTerrestre / TIERRA.gravedad();
        for (Planeta p : Planeta.values())
           System.out.printf("Tu peso en %s es de %f%n",
                             p, p.pesoEnSuperficie(masa));
    }
}


(Traducción textual de 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
Yeah Mr. White, yes science!!

Senior++

Gracias a todos los que contestaron... por cierto raul miraré tu codigo ;-)

Saludos
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

Senior++

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

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


Saludos
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

raul_samp

Cita de: SixToex (Agares) 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

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 (java) [Seleccionar]

import java.util.Scanner;

public enum Planeta {
MERCURIO(3.303e+23, 2.4397e6), VENUS(4.869e+24, 6.0518e6), TIERRA(
5.976e+24, 6.37814e6), MARTE(6.421e+23, 3.3972e6), JUPITER(1.9e+27,
7.1492e7), SATURNO(5.688e+26, 6.0268e7), URANO(8.686e+25, 2.5559e7), NEPTUNO(
1.024e+26, 2.4746e7);

private final double masa; // en kilogramos
private final double radio; // en metros

Planeta(double masa, double radio) {
this.masa = masa;
this.radio = radio;
}

// Constante de Gravitación Universal (m3 kg-1 s-2)
public static final double G = 6.67300E-11;

double gravedad() {
return G * masa / (radio * radio);
}

double pesoEnSuperficie(double masaObjeto) {
return masaObjeto * gravedad();
}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("Introduce tu peso terrestre: ");

double pesoTerrestre = sc.nextDouble();
double masa = pesoTerrestre / TIERRA.gravedad();
for (Planeta p : Planeta.values())
System.out.printf("Tu peso en %s es de %f%n", p,
p.pesoEnSuperficie(masa));
}
}

Yeah Mr. White, yes science!!