minha duvida é a seguinte…Se eu entrar com um carácter (letras) da uma mensagem de erro, blz, como que eu faço se eu quiser que o código repita até eu inserir um carácter de valor numérico?
import java.io.*;
import javax.swing.JOptionPane;
public class Exemplo_0205
{
public static void main(String args[])
{
double nota1, media, total = 0;
String nota;
int contador = 1;
try
{
while(contador <= 3)
{
nota = JOptionPane.showInputDialog(null,"Entra com a "+contador+"º nota","Entrada De Notas!",JOptionPane.INFORMATION_MESSAGE);
nota1 = Double.parseDouble(nota);
contador = contador + 1;
total = total + nota1;
}
media = total / --contador;
JOptionPane.showMessageDialog(null,"O valor da média é =: "+media+"","Valor Final Da Média.",JOptionPane.INFORMATION_MESSAGE);
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null,"Ouvi um erro na entrada de dados\nEntre somento com caracteres numericos","Menssagem de Erro.",JOptionPane.ERROR_MESSAGE);
}
}
}
EDIT (Moderador) - Por favor, use as tags [ code ] para postar código.
public static void main(String args[])
{
// Inicialize suas variáveis.
double nota1=0, media=0, total = 0;
String nota = "";
int contador = 1;
boolean isNumero = true; // Criei essa flag pra fazer o controle da validação
while(contador <= 3){
do{
isNumero = true;
nota = JOptionPane.showInputDialog(null,"Entra com a "+contador+"º nota","Entrada De Notas!",JOptionPane.INFORMATION_MESSAGE);
try{
nota1 = Double.parseDouble(nota);
}catch (NumberFormatException e) {
isNumero = false;
JOptionPane.showMessageDialog(null,"Ouvi um erro na entrada de dados\nEntre somento com caracteres numericos","Menssagem de Erro.",JOptionPane.ERROR_MESSAGE);
}
}while(isNumero == false);
contador = contador + 1;
total = total + nota1;
}
media = total / --contador;
JOptionPane.showMessageDialog(null,"O valor da média é =: "+media+"","Valor Final Da Média.",JOptionPane.INFORMATION_MESSAGE);
}
Abraço…
Pra ser bem sincero nao entendi o codigo nao hodrigo, pode me explicar com detalhes? e outra coisa como que eu tiro fotos dos meus codigos na minha IDE pra eu postar no forum?
Cara vc não precisa tirar print da IDE não…
eh só usar as tags [ code ] [/ code ] (sem os espaços…)
XD
nao entedi como que faz tb nao uUahuhauHauhAuhUa
public static void main(String args[])
{
// Inicialize suas variáveis.
double nota1=0, media=0, total = 0;
String nota = "";
int contador = 1;
boolean isNumero = true; // Criei essa flag pra fazer o controle da validação
while(contador <= 3){
do{
// Essa variável que vai tomar conta da repetição, caso o cara informe uma letra sendo que era pra informar número.
isNumero = true;
// Aqui ele lê a nota normal...
nota = JOptionPane.showInputDialog(null,"Entra com a "+contador+"º nota","Entrada De Notas!",JOptionPane.INFORMATION_MESSAGE);
try{
// Aqui ele tenta converter a nota que o cara digitou para um Double, é aqui que da o erro caso o user informe qualquer besteira no lugar de um número
// Porque se for informado uma letra, como transformará uma letra pra Double ? Gera o NumberFormatException
nota1 = Double.parseDouble(nota);
}catch (NumberFormatException e) {
// Se gerar esse erro NumberFormatException foi porque o usuario informou letra, logo você tem que obriga-lo a digitar novamente então vc atribui FALSE para variável de controle isNumero.
isNumero = false;
// Exibe a msg pro usuario espertão...
JOptionPane.showMessageDialog(null,"Ouvi um erro na entrada de dados\nEntre somento com caracteres numericos","Menssagem de Erro.",JOptionPane.ERROR_MESSAGE);
}
// VErifica se isNumero é false, caso seja ele faz o usuario digitar novamente o valor.
}while(isNumero == false);
contador = contador + 1;
total = total + nota1;
}
media = total / --contador;
JOptionPane.showMessageDialog(null,"O valor da média é =: "+media+"","Valor Final Da Média.",JOptionPane.INFORMATION_MESSAGE);
}
Já em relação a Screen da IDE (rs)
http://www.guj.com.br/posts/list/50115.java
você deve ler isso…