• Martes 30 de Abril de 2024, 03:19

Autor Tema:  Necesito Ayuda Con Esto Por Favor.  (Leído 9319 veces)

digichap28

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
Necesito Ayuda Con Esto Por Favor.
« en: Viernes 14 de Septiembre de 2007, 02:26 »
0
Hola que tal como estan?

Bueno, estudiando ingenieria de sistemas, y estoy aprendiendo programacion en java.
Ahora estoy haciendo un sencillo programita, pero estoy un poco atrancado por que me sale error en la parte de

char.parseChar, al parecer esa no es la forma adecuada. AQUI pongo el programita para ver si pueden darme una mano. SE LOS AGRADEZCO.


Citar
import javax.swing.*;
public class exe10 {

    public static void main(String []args)
    {
     float a,b,r ;
     char op;
    
     a=Float.parseFloat(JOptionPane.showInputDialog ("Primer numero"));
     b=Float.parseFloat(JOptionPane.showInputDialog ("Segundo numero"));
     op=char.parseChar(JOptionPane.showInputDialog ("Operador aritmetico"));
    
     switch(op) {
    
     case '+':  r=(a+ b );
       JOptionPane.showMessageDialog(null, a  + "+" + b + "=" + r);
       break;
     case '-':  r=(a- b );
      JOptionPane.showMessageDialog(null, a + "-" + b + "=" + r);
       break;
     case '*':  r=(a* b );
      JOptionPane.showMessageDialog(null, a  + "*" + b + "=" + r);
       break;
     case '/':  if (b!=0) {
                r=(a/b);
         JOptionPane.showMessageDialog(null, a  + "/" + b + "=" + r);
                       }else{
                  JOptionPane.showMessageDialog(null, "Cannot divide by zero");
                     }
       break;
             }  
               }
     }

Nagisa

  • Miembro MUY activo
  • ***
  • Mensajes: 119
  • Nacionalidad: es
    • Ver Perfil
Re: Necesito Ayuda Con Esto Por Favor.
« Respuesta #1 en: Viernes 14 de Septiembre de 2007, 10:45 »
0
Buenas!!!

Dos fallos. Y los dos, de concepto:

a ) Invocas a un método para un tipo!!!  :huh:

Es Java existen dos cosas diferenciadas, que son unos pocos tipos primitivos (char, int, float, boolean, ...) y la infinidad de clases Java (String, Image, Stack, Integer, Float, JOptionPane, ...). Los métodos solo son aplicables a las clases, con los tipos básicos lo único que puedes hacer son operaciones...

En los dos primeros casos lo que haces realmente es invocar a un método estático de la clase Float, que representa a un dato de tipo float. Es lo que se conoce como un envoltorio de datos (o wrapper) y todos los tipos básicos tienen uno. Para el caso de char sería Character.

Por lo que, por ahora, sería: Character.parseChar(....)

b ) Suponiendo lo anterior, tampoco funcionaria por que no existe ningún método llamado parseChar en la clase Character!!!  :o  Tiene algo de sentido ya que... ¿como conviertes una cadena en un solo caracter...?  :huh:  Para cada clase que vayas a usar, es más que recomendable que te conozcas su API (conjunto de métodos y variables, junto a una descripción del funcionamiento). Puedes encontrar las APIs de todos las clases Java aquí.   :smartass:

Conclusión: no inventes!!!  :angry:

PD: Para solucionar tu problema, sustituye la línea que te falla por:

op=(JOptionPane.showInputDialog ("Operador aritmetico")).charAt(0);

Saludos!!!  :)
   

digichap28

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
Re: Necesito Ayuda Con Esto Por Favor.
« Respuesta #2 en: Viernes 14 de Septiembre de 2007, 21:50 »
0
Muchas gracias por tu ayuda  :hola:


Otra preguntilla, saben de alguna pagina web que explique bien como crear un algoritmo?

Gracias nuevamente.