Olá amigos,
Estou no primeiro semestre de faculdade e estou com uma dúvida em um exercício. Fiz ele imprimindo em Dos e em Windows, porém no windows ele não funcionou, não consegui encontrar o erro.
Tenho que entrar com um código que é uma letra e um valor que é o raio, conforme a letra que eu digitar ele executa um calculo diferente.
Esta dando erro na compliação no Switch, mas como ainda não entendi muito bem o charAt(), não sei se escrevi a sintaxe correta.
Também acredito que a sintaxe de entrada de dados do raio não está correta.
Caso alguém possa me explicar aonde estou errando e se possível me mostrar a solução, agradeço.
Segue o código abaixo:
//Entrada de dadosraio=Double.parseDouble(JOptionPane.showInputDialog("Digite o Raio",(va[0])));cod=JOptionPane.showInputDialog("Entre com o código",(va[1].charAt(0)));// Estrutura de Decisão para o calculoSwitch(cod){case'x':c=2*pi*raio;JOptionPane.showMessageDialog(c);//Saida de dadosbreak;case'y':a=pi*Math.pow(raio,2);JOptionPane.showMessageDialog(a);//Saida de dadosbreak;case'z':v=(double)4/(double)3*pi*Math.pow(raio,3);JOptionPane.showMessageDialog(v);//Saida de dadosbreak;Default:JOptionPane.showMessageDialog("ERRO");//Saida de dados PARA ERRO}// Fim da estrutura case System.exit(0);
Senhor iniciante…quando for postar códigos use as tags code…
assimviu...
Segunda coisa…java é independente de plataforma…se vc diz que roda em DOS então roda até no inferno com FreeBSD…basta ter a JRE instalada. Veja se o erro é com a sua JVM.
G
Guguuu
tenta com o default com o d minusculo …
—> Default: JOptionPane.showMessageDialog(“ERRO”);//Saida de dados PARA ERRO
}// Fim da estrutura case
System.exit(0);
fiaux
Outra coisa, O switch é com letra minúscula.
fiaux
Mais uma coisa, leia a API do JOptionPane, pois, do jeito que você usou não vai funcionar, já testei aqui o código.
Ok Giuliano, é a primeira vez que posto uma dúvida na próxima corrijo isso.
Obrigado Guguuu e Fiaux, mas agora apresentou erro na entrada de dados na linha do charAt()
V
vitor.araujo
fiaux, obrigado pela dica, estou dando uma lida no arquivo
fiaux
Só por curiosidade, a variável PI você poderia usar a do pacote java.lang.Math Math.PI.
V
vitor.araujo
fiaux, testei sua dica utilizando o código que fiz com saida pelo Dos e funcionou, muito obrigado.
Poderia me ajudar com a entrada pelo Windows?
C
Carnevalli
importjavax.swing.*;classProva01{publicstaticvoidmain(Stringva[]){//Declaraçãodevariaveiseconstantesdoubleraio,c,a,v;charcod;finaldoublepi=3.14;//Entradadedadosraio=Double.parseDouble(JOptionPane.showInputDialog("Digite o Raio"));cod=JOptionPane.showInputDialog("Entre com o código").charAt(0);//EstruturadeDecisãoparaocalculoswitch(cod){case'x':c=2*pi*raio;JOptionPane.showMessageDialog(null,c);//Saidadedadosbreak;case'y':a=pi*Math.pow(raio,2);JOptionPane.showMessageDialog(null,a);//Saidadedadosbreak;case'z':v=(double)4/(double)3*pi*Math.pow(raio,3);JOptionPane.showMessageDialog(null,v);//Saidadedadosbreak;default:JOptionPane.showMessageDialog(null,"ERRO");//SaidadedadosPARAERRO}//FimdaestruturacaseSystem.exit(0);}//Fimdovoidmain}//Fimdaclassemain
Não testei os resultados para ver se estão certos, mas tá funcionando...
haroldojribeiro
Giulliano:
Segunda coisa…java é independente de plataforma…se vc diz que roda em DOS então roda até no inferno com FreeBSD…basta ter a JRE instalada. Veja se o erro é com a sua JVM.
apenas reforçando rs
Em java fala-se muito em “write once run anywhere”.
Não entendo qual a diferença que você está falando em saida pra DOS e WIN, cheque se seu classpath está configurado direitinho, pode ser que seja isso.
Espero ter Ajudado.
[]´s
C
Carnevalli
haroldojribeiro:
Giulliano:
Segunda coisa…java é independente de plataforma…se vc diz que roda em DOS então roda até no inferno com FreeBSD…basta ter a JRE instalada. Veja se o erro é com a sua JVM.
apenas reforçando rs
Em java fala-se muito em “write once run anywhere”.
Não entendo qual a diferença que você está falando em saida pra DOS e WIN, cheque se seu classpath está configurado direitinho, pode ser que seja isso.
Espero ter Ajudado.
[]´s
Eu acho que ele quis dizer que fez uma versão do mesmo programa no modo texto e outra em modo gráfico, usando swing.
Abraços,
fiaux
Você usa alguma IDE? Acho que ninguém tá entendendo essa história de DOS e Win. Você compilou o programa na mão, rodou na mão? Agora quer saber como rodar no Windows? Tipo… dois cliques pra executar?
V
vitor.araujo
Obrigado pela ajuda de todos, com o material que foi indicado e os erros que me mostraram o programa funcionou.
V
vitor.araujo
Não me expressei bem eu quis dizer que fiz uma versão do mesmo programa no modo texto e outra em modo gráfico, usando swing.
Obriga Carnevalli, me ajudou a me expressar… rsrs
V
vitor.araujo
O código ficou assim:
importjavax.swing.*;classProva1{publicstaticvoidmain(Stringva[]){//Declaraçãodevariaveiseconstantesdoubleraio,c,a,v;charcod;//Entradadedadosraio=Double.parseDouble(JOptionPane.showInputDialog("Digite o Raio"));cod=JOptionPane.showInputDialog("Entre com o código").charAt(0);//EstruturadeDecisãoparaocalculoswitch(cod){case'x':c=2*Math.PI*raio;JOptionPane.showMessageDialog(null,c);//Saidadedadosbreak;case'y':a=Math.PI*Math.pow(raio,2);JOptionPane.showMessageDialog(null,a);//Saidadedadosbreak;case'z':v=(double)4/(double)3*Math.PI*Math.pow(raio,3);JOptionPane.showMessageDialog(null,v);//Saidadedadosbreak;default:JOptionPane.showMessageDialog(null,"ERRO");//SaidadedadosPARAERRO}//FimdaestruturacaseSystem.exit(0);}//Fimdovoidmain}//Fimdaclassemain