Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: BigHelmet7 en 05 de Julio 2013, 20:07

Título: ejercicio ecuación simple con java
Publicado por: BigHelmet7 en 05 de Julio 2013, 20:07
Hola de nuevo !

hoy quería cumplir mi sueño y hacer mi primer programa en java, pero cómo no tengo fallos a la hora de compilar el código, lo que intento hacer es hacer esta formula x=a-b+c , con decimales, les adjunto el código. Muchas Gracias de antemano.
/*ECUACION SIMPLE*/

import  javax.swing.JOptionPane;

import java.math.BigDecimal;

import java.math.*;

public class EquacionSimple{
   
    public static void main( String args[] )
   {
       
       String strNumero1;
       
       String strNumero2;
       
       String strNumero3;
       
       int intNumero1;
       
       int intNumero2;
       
       int intNumero3;
             
       float Operación;
       
      strNumero1 = JOptionPane.showInputDialog( "Ingrese el numero 1" );
     
      strNumero2 = JOptionPane.showInputDialog( "Ingrese el numero 2" );
     
      strNumero3 = JOptionPane.showInputDialog( "Ingrese el numero 3" );
     
      BigDecimal bd= new BigDecimal ( intNumero1, MathContext.UNLIMITED);
     
      BigDecimal bd2= new BigDecimal ( intNumero2, MathContext.UNLIMITED);
     
      BigDecimal bd3= new BigDecimal ( intNumero3, MathContext.UNLIMITED);
     
      Operación = intNumero1 - intNumero2 + intNumero3;
     
      JOptionPane.showMessageDialog(
         null, "La ecuación simple es " + Operación, "Resultado,",
         JOptionPane.PLAIN_MESSAGE );
     System.exit( 0 ); 
  }
}
     
       
 
Título: Re:Como he de utilizar BigDecimal
Publicado por: Mastermind en 05 de Julio 2013, 21:10
Hola BigHelmet, lo que no veo claro es para qué quieres usar BigDecimal, cuando java tiene tipos con muchos decimales como float o double que son los de uso más común.

Como sugerencias te diría: al poner código usa el botón # que está entre los iconos del editor que te aparece al escribir en el foro. Te aparecerá [ code] [ /code], lo que escribas entre esas dos etiquetas aparecerá luego como codigo.

Código: [Seleccionar]
Esto es código
Para aprender a programar en java con orden sigue el curso https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Cuando crees programas java usa los tipos mas comunes y simples posibles, en este caso double o float antes que otros.

El programa usando double quedaría así, saludos:

Código: [Seleccionar]
/*ECUACION SIMPLE*/

import  javax.swing.JOptionPane;

//import java.math.BigDecimal;

//import java.math.*;

public class EquacionSimple{

    public static void main( String args[] )
    {

        String strNumero1;
        String strNumero2;
        String strNumero3;

        double Numero1;
        double Numero2;
        double Numero3;
        double Operacion;

        strNumero1 = JOptionPane.showInputDialog( "Ingrese el numero 1" );
        strNumero2 = JOptionPane.showInputDialog( "Ingrese el numero 2" );
        strNumero3 = JOptionPane.showInputDialog( "Ingrese el numero 3" );

        Numero1 = Double.parseDouble(strNumero1);
        Numero2 = Double.parseDouble(strNumero2);
        Numero3 = Double.parseDouble(strNumero3);

        /*
        BigDecimal bd= new BigDecimal ( intNumero1, MathContext.UNLIMITED);
        BigDecimal bd2= new BigDecimal ( intNumero2, MathContext.UNLIMITED);
        BigDecimal bd3= new BigDecimal ( intNumero3, MathContext.UNLIMITED);
         */       
       
        Operacion = Numero1 - Numero2 + Numero3;

        JOptionPane.showMessageDialog(
            null, "La ecuación simple es " + Operacion, "Resultado,",
            JOptionPane.PLAIN_MESSAGE );
        System.exit( 0 );
    }
}
Título: Re:Como he de utilizar BigDecimal
Publicado por: BigHelmet7 en 05 de Julio 2013, 21:25
Hola Mastermind ,

antes que nada te agradezco tu ayuda :D .

Bueno el BigDecimal lo utilice más que nada porque estuve investigando y me dieron a entender que era la mejor manera de obtener un resultado en decimal, cómo podrás comprenderme soy un "n00b" en este mundo y empece con el curso que has nombrado, en fin ahora comprendo más el código que has puesto pero el "parse" no comprendo para que sirve y cuando intento ejecutar el código BlueJ me da este "error"
Código: [Seleccionar]
java.lang.NumberFormat:

For input string:"5,8" (in sun.misc.FloatingDecimal)


Muchas gracias por ayudarme nuevamente :D y gracias tambien por enseñarme a usar code .
Título: Re:Como he de utilizar BigDecimal
Publicado por: Mastermind en 06 de Julio 2013, 00:27
Cuando introduzcas números decimales debes hacerlo utilizando punto como separador en vez de comas, es decir introducir por ejemplo 5.8345 en vez de 5,8345

Si lo haces así no te saltará ese error.

El parse sirve para transformar algo que es String en double. Lo que introduce el usuario por teclado es tratado en este caso como String y para transformarlo en otro tipo de dato se usa el parse.
Título: Re:Como he de utilizar BigDecimal
Publicado por: BigHelmet7 en 06 de Julio 2013, 12:52
Mastermind muchas gracias eres un genio :D ya puedo utilizar el programa mil gracias !

Un saludo