E ae galera,
Eu de novo
To com o seguinte prob:
Ao executar esses códigos eles rodam normalmente, mas na hora de mostrar o resultado, mostra algo estranho 8O
O resultado q eu quero naum aparece, ao invés disso, aparece isso:
Exercicio@hexa
Onde hexa eh um código em haxadecimal.
Segue o código do programa:
import java.text.DecimalFormat;
public class Exercicio {
private float somaReal;
private float somaImaginarios;
private int controle = 0; // Controle p/ garantir q somas != 0
public Exercicio ( float a, float b, float c, float d, int escolha )
{
switch ( escolha ) {
case 1 : soma( a, b, c, d ); break;
case 2 : diferenca( a, b, c, d ); break;
case 3 :
if ( controle != 0 )
mostre( somaReal, somaImaginarios );
else
erro();
}
}
public void soma ( float a, float b, float c, float d )
{
somaReal = a + c;
somaImaginarios = b + d;
controle++;
mostre ( somaReal, somaImaginarios );
}
public void diferenca ( float a, float b, float c, float d )
{
somaReal = a - c;
somaImaginarios = b - d;
controle++;
mostre ( somaReal, somaImaginarios );
}
public String mostre ( float x, float y )
{
DecimalFormat threeDigits = new DecimalFormat ( "0.000" );
return threeDigits.format ( x ) + threeDigits.format ( y ) + "i";
}
public String erro()
{
String error = "Vc deve efetuar uma operação antes de solicitar o " +
"resultado";
return error;
}
}
import javax.swing.*;
public class imaginarios {
public static void main ( String args[] )
{
String cReal1 =
JOptionPane.showInputDialog ( null, "Digite o valor inteiro do 1º nº" );
float real1 = Float.parseFloat ( cReal1 );
String cImag1 =
JOptionPane.showInputDialog ( null, "Digite o valor imaginário do 1º nº" );
float imag1 = Float.parseFloat ( cImag1 );
String cReal2 =
JOptionPane.showInputDialog ( null, "Digite o valor inteiro do 2º nº" );
float real2 = Float.parseFloat ( cReal2 );
String cImag2 =
JOptionPane.showInputDialog ( null, "Digite o valor imaginário do 2º nº" );
float imag2 = Float.parseFloat ( cImag2 );
String choose =
JOptionPane.showInputDialog ( null, "Digite 1 para soma\nDois para subtração" +
"\n 3 para mostrar o resultado" );
int esc = Integer.parseInt ( choose );
Exercicio ex = new Exercicio ( real1, imag1, real2, imag2, esc );
JOptionPane.showMessageDialog ( null, ex );
}
}
Alguém entendeu o pq do erro?
valeu