Básico do básico

6 respostas
A
int opcao = Integer.parseInt(JOptionPane.showInputDialog ("Escolha a Figura \n1 Quadrado \n2 Triângulo \n3 Círculo \n4 Sair" ));
		
		if (opcao < 1 || opcao >4){
			JOptionPane.showMessageDialog(null,"Você digitou opção inválida");
			
		}.......

Como faço para reiniciar o laço se não for atingida a condição???

6 Respostas

javapaulomg

Se não me engano a utlização de um “Label” ou “Rotulo”, pode solucionar teu problema. Porem não sei ao certo como sua utilização.

danieldestro

Primeiro que isso não é um laço. Laço é FOR ou WHILE.

Faça assim:

int opcao = 0; do { opcao = Integer.parseInt(JOptionPane.showInputDialog ("Escolha a Figura \n1 Quadrado \n2 Triângulo \n3 Círculo \n4 Sair" )); if (opcao < 1 || opcao > 4) { JOptionPane.showMessageDialog(null,"Você digitou opção inválida"); } } while(opcao < 1 || opcao > 4);

rmarin

Eu não usaria um loop rotulado não. É bom evitar isso.

A

Acho que coloquei errado a coisa. Tenho o menu com a entrada de 4 opções. O que estou querendo é que se o user digitar um valor fora das opções o programa informe que ele errou e mostre novamente as opções e daí dê continuidade ao resto dos comandos. Pelos exemplos com DO/WHILE ele fica no laço indefinidamente pois ele não retorna ao menu inicial. Acho que agora expliquei melhor o que eu quero.

I

Você pode fazer da seguinte maneira: Usando o switch.

int opcao = 0 while (opcao != 4){ opcao = Integer.parseInt(JOptionPane.showInputDialog ("Escolha a Figura \n1 Quadrado \n2 Triângulo \n3 Círculo \n4 Sair" )); switch(opcao){ case 1: //implementacao; break; //é necessário o break, pq senão o switch executará todas as opções case 2: //implementação; break; //e quantas opções desejar default: JOptionPane.showMessageDialog(null,"Você digitou opção inválida"); //entra no default todas as opções que forem diferentes break;. } }
Assim repete o menu, da forma que vc queria, qualquer coisa é só falar…

I

Q laço?
Provavelmente um while certo!

faz assim

import javax.swing.JOptionPane;
 public class Teste {
       public static void main(String[] arg){
    	   Condicao:
    	   while (sua condição) {
    	       int opcao = Integer.parseInt(JOptionPane.showInputDialog ("Escolha a Figura \n1 Quadrado \n2 Triângulo \n3 Círculo \n4 Sair" ));
    	    		
    	    		if (opcao < 1 || opcao >4){
    	    			JOptionPane.showMessageDialog(null,"Você digitou opção inválida");
    	    		continue Condicao;	
    	    		}

    	   }
       }
}
Criado 9 de agosto de 2006
Ultima resposta 9 de ago. de 2006
Respostas 6
Participantes 6