Estou fazendo uns testes com Thread e claro, procurando aprender. Fiz um programa, para quando o resto de uma divisão for 10, aí eu executo uma mensagem. Acontece que não está entrando na rotina. Veja o código abaixo: Como estou aprendendo, eu coloquei um sleep para ver o que acontece e etc... Tudo isso aí é um teste(aprendizado)
publicclassContaDezimplementsRunnable{publicvoidrun(){intresto=1;for(intcont=1;cont<101;cont++){if(cont%resto==10){System.out.println("O resto dessa divisão é 10");resto++;}elseSystem.out.println("O contador é: "+cont);try{Thread.sleep(10);}catch(InterruptedExceptione){}}}}
No seu caso nunca vai entrar mesmo… vc sempre estará dividindo o valor de cont por 1… pensa: Se o resto não for 10 vc nunca vai incrementar resto na sua rotina… dai sempre o valor de resto será um, consequentemente o resto da sua divisão sempre será 0…
Vc pode ver isso melhor assim:
publicclassContaDezimplementsRunnable{publicvoidrun(){intresto=1;for(intcont=1;cont<101;cont++){if(cont%resto==10){System.out.println("O resto dessa divisão é 10");resto++;}elseSystem.out.println("O contador é: "+cont+" o var resto é:"+resto+" o resto em si é:"+(cont%resto));try{Thread.sleep(10);}catch(InterruptedExceptione){}}}publicstaticvoidmain(String[]args){Threadt=newThread(newContaDez());t.start();}}
viniciusfaleiro
Outra coisa… 10 milisegundo de sleep??? vc quis dizer 10000 certo (10 segundos)