Coversao de Byte para String

2 respostas
A

Gente to fazendo um exercicio da faculdade,e esta dando erro da conversao de Byte para String,alguem poderia me dizer onde estou errando?

import java.io.IOException;
import javax.swing.*;

public class Exercicio0002 {

public static void main(String[] args) {
  	char operacao;
  	String temp = null;
  	double valor1 = 0, valor2 = 0;
  	byte entrada[] = new byte[100];
  		  	
  	try {
  		do {
  			JOptionPane.showMessageDialog(null,"Escolha as seguintes opções:1 para adição,2 para subtracao,3 para multiplicacao,4 para divisão");
  			JOptionPane.showInputDialog("Digite a operacao matematica: ");
		   
	  		
	  	   System.in.read(entrada);
	  	   operacao = (char) entrada [0];
	  	
	  	   entrada=Byte.parseByte(JOptionPane.showInputDialog("Digite o primeiro valor: "));
	  	   temp = new String(entrada).trim();
	  	   valor1 = Double.parseDouble(temp);

	  	   
	  	   entrada=Byte.parseByte(JOptionPane.showInputDialog("Digite o segundo valor: "));
	  	   temp = new String(entrada).trim();
	  	   valor2 = Double.parseDouble(temp);
	  	   
	  	   if(operacao=1){
	  		   somar(valor1, valor2);
	  	   }
	  	   else if (operacao=2){
	  		   subtrair(valor1, valor2);
	  		   
	  	   }
	  	   else if (operacao=3){
	  		   multiplicar(valor1, valor2);
	  	   }
	  	   else if (operacao=4){
	  		   dividir(valor1, valor2);
	  	   }
	  		 
	  	   entrada=Byte.parseByte(JOptionPane.showConfirmDialog(null,"Deseja realizar outro calculo? [S/N]: "));
	  	   temp = new String (entrada).trim();
  		}while(temp.equalsIgnoreCase("S"));
  	}
  	catch (IOException e){
  		JOptionPane.showMessageDialog(null,"Erro de I/O");
  	}
}

public static void somar (double valor1, double valor2){
	double resultado;
	resultado = valor1 + valor2;
	System.out.println("O resultado da soma eh: " + resultado);
}

public static void subtrair (double valor1, double valor2){
	double resultado;
	resultado = valor1 - valor2;
	JOptionPane.showMessageDialog(null,"O resultado da subtracao eh: " + resultado);
}

public static void multiplicar (double valor1, double valor2){
	double resultado;
	resultado = valor1 * valor2;
	JOptionPane.showMessageDialog(null,"O resultado da multilicacao eh: " + resultado);
}

public static void dividir (double valor1, double valor2){
	double resultado;
	resultado = (int)valor1 / (int)valor2;
	JOptionPane.showMessageDialog(null,"O resultado da divisao eh: " + resultado);
}

}

2 Respostas

luciano.eti

estranho…nao entendi a criação de um campo entrada do tipo Byte…não poderia ser um double ou um int…

mesmo porque depois vc usa a variavel entrada…mas nao o array criado anteriormente…

e se declarasse uma variavel do tipo int para receber sua opcão de entrada sempre que fosse optar por escolher as operações e duas variaveis valor1 e valor2 para inserir os valores a serem usados no calculos…
depois seria só comparar a opção digitado e efetuar os calculos com os valores inseridos…

[]'s

Luciano.

J

Passa seu vetor de byte para esse método.
Um string é um ponteiro para uma área de chars(ou bytes). Use um vetor de byte.
String.ValueOf(char[] data)

Criado 30 de maio de 2009
Ultima resposta 1 de jun. de 2009
Respostas 2
Participantes 3