random - Como executar apenas um else if dentre vários?
Perguntas � random � Como executar apenas um else if dentre vários?
Como executar apenas um else if dentre vários?
Pessoal, tenho um código que tem vários ifs. Percebi que apenas um deles está funcionando e desejo executar somente este específico. Seria algo como isso:
public static void main(String[] argargarg) {
int[] a = {-34, 1, 2, 3, 4};
int num = a[r.nextInt(5)];
System.out.println("Caso1: " + num);
System.out.println("Caso2: " + num);
} else if(num < 1){
//EXECUTAR APENAS ISTO SEMPRE MESMO SE OUTROS IFs POSSAM SER VÁLIDOS
Seria algo como rodar o programa até que aquele if específico aconteça e possa ser executado. Não consegui pensar nessa lógica de um jeito que eu conseguiria fazer. :/
Se você precisa que o conteúdo daquele if sempre seja executado, por que ele está num if? Ou você quer sempre fazer o teste se (num < 1) ?
Percebi isso bem no final, Vini. Eu poderia ter excluído as outras condições, mas, como citei na minha resposta, envolvi o trecho num ciclo while(true); e usei um break; na condição desejada para que sempre seja executada.
— Lucas Sousa 03 de fev de 2015
num = a[r.nextInt(5)];
Você não precisa de else-ifs, simplifique a lógica:
editado 31 de jan de 2015
Jfestrela Cestrela me deu uma ideia e lembrei que podia implementar no meu código um ciclo while(true){} e em todos os ifs que eu não desejava que ocorressem colocar um continue; e o no caso que eu desejava que acontecesse colocar um break;. Seguindo o exemplo que dei, ficou mais ou menos nesse esquema:
//System.out.println("Caso1: " + num);
//System.out.println("Caso2: " + num);
Também, numa situação como esta, pode-se adicionar o ciclo e apagar os ifs desnecessários colocando o break; naquele if específico que desejas.
quando leio esse tipo de pergunta, essa é minha vontade
Perdoe-me por importuna-lo, caro amigo.
— Lucas Sousa 31 de jan de 2015
Colega, realmente me desculpe pq eu pensei que a pergunta não era séria, vira e mexe postam umas coisas aqui só para tumultuar.