a segunda linha da saida não era pra acontecer e a terceira e a quarta tambem não. ja fiz bastante teste aqui e não sei pq esta dando isso. alguém sabe o por que?
Você não quer esse for então eu só corrigi o seu anterior exemplo que estava errado!
O que você quer na verdade?, explique!
M
Miguel_Avila
Um for que me dê de saida isso:
foraIF> I= 0 J= 1
foraIF> I= 1 J= 2
foraIF> I= 2 J= 3
I
Solucao aceita
Iohannes1 like
O for está sim funcionando corretamente (‘ele faz o que manda’). O problema e que as coisas não estão ocorrendo como tu imaginou. Logo, é um problema de lógica ou interpretação de como o for funciona, o que não é raro de ocorrer. Veja esse teste de mesa:
Eu não sei o que está de fato querendo com esse código, mas existem formas mais simples que conseguir o que queres, por exemplo:
publicclassContagem{privatestaticStringtexto="str";publicstaticvoidmain(String[]args){intcontador=1;for(inti=0;i<texto.length();i++){if(contador<=texto.length()){System.out.println("ForaIf -> I = "+i+" J = "+contador++);}}}}
Rodando…
M
Miguel_Avila
eu sei que vai parecer meio nada haver, mas é fazer um conversor de código morse, eu tinha ate feito ja mas perdi o código e não lembro qual foi a lógica que usei. Mas valeu pela ajuda
M
Miguel_Avila
so não entendi essa parte, se puder explicar agradeço. aqui o j continua valendo 0, mas na interação um ele esta valendo 1. Por que ele voltou a ser 0?
I
Iohannes
Cada iteração do segundo for, j começa valendo 0 (reinicia o valor de j).