cria um método de teste para impedir esses erro olha ai o método tipo encontra o tipo:
[code]public static void main(String[]args){
String x=JOptionPane.showInputDialog(null,“Entre com um valor” );
float converteRecebeInt;
if (tipo(x)==true){
converteRecebeInt = Float.parseFloat(JOptionPane.showInputDialog(null,“Entre com um valor” ));
}else converteRecebeInt = Float.parseFloat(JOptionPane.showInputDialog(null,“Entre com um valor” ));
}
//encotra o tipo, true para inteiro, false para String.
public static boolean tipo(String x){
boolean z=true;
try{
if (Integer.parseInt(x)!=0);
z=true;
if (x.equals("0")) z=true;
}catch(Exception e){
JOptionPane.showMessageDialog(null,"VALOR INVÁLIDO!\nOs numeros são separados por ponto,\n\bcarácteres inválidos:\b\nA-Z, a-z, ^,~,/,\,',\",!,?,@,#,$,%,¨,&,*,(,),[,],+,-,|,.,;,=","ERRO",JOptionPane.ERROR_MESSAGE);
z=false;
}
return z;
}[/code]
da uma olhada se não entendeu pergunta aki q eu explico.(testa ai pra ver oq acontece)