Alô pessoal...
Bem , eu estou com uma duvida em estruturas de controle encandeadas uma estrutura dentro da outra , a duvida eo seguite como eu controlo as estruturas mais internas , no caso do o while...pq ele não tem uma variável de controle .... eu tentei um flag no premeiro e um flag no segundo , mais o flag so funciona na primeira pq? alguem tem exemplos? até logo pessoal.
inta=7;intcont=1;while(a<10){
System.out.print("Valor de A While(1) = "+a);cont++;if(cont==2){
break;
}
while(a<8){
System.out.println("Valor de A While(2) = "+a);cont++;if(cont==2){
break;}
}
}
No segundo while o cont, que estava a 2 vai ser incrementado para 3 antes da comparação, logo nunca vai ser 2 e não vai fazer o break.
E porque não fazer assim:
inta=7; intcont=1;while(a<10&&cont!=2){System.out.print("Valor de A While(1) = "+a); cont++; }while(a<8&&cont!=2){System.out.println("Valor de A While(2) = "+a); cont++; }
jroberto.nsc
Pode ser sim. Mas como controlar o loop assim ?
nel
Boa tarde.
Uma pergunta, você quer que os loops estejam encadeados perfeito, sendo assim, você quer que se o loop mais interno caia em uma determinada situação ele encerre o loop, desde o loop mais interno até o primeiro loop, digamos “subindo a árvore”, seria isto?
Abraços.
jroberto.nsc
Sim a questão e essa , e possível encerrar o loop assim ? por que com for e mais facil fazer isso pelo fato dela ser uma estrutura que possui uma variavel de controle , já o while() , o do while(); não , então fazer o controle e de forma “manual”. ate logo
nel
Isto lhe ajuda?
int i = 1;
while(i > 0) {
System.out.println("Contagem: "+i);
System.out.println("###############");
while(i<8) {
System.out.println("Contagem: "+i);
if(i == 4) {
i = 0;
System.out.println("###############");
System.out.println("break");
break;
}
i++;
}
}
Abraços.
G
guiifreitas
Boa Tarde. Então, existe os “labeled loops” !
Não acredito que seja a mais elegante de todas, mas … dá uma olhada :
Bem é algo similar , eu so estava em duvida como controlar o laço mais interno… esse codigo aqui e o correto:
o valor satisfaz as duas condições dos loop’s é em seguida a interação e parada com um flag no segundo while().
publicstaticvoidmain(String[]args){inta=7;intcont=1;while(a<10&&cont!=2){System.out.println("Valor de A While(1) = "+a);cont++;}while(a<8){System.out.println("Valor de A While(2) = "+a);cont++;if(cont!=2){break;}}}}