Testando Thread

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)

public class ContaDez implements Runnable{ public void run(){ int resto = 1; for(int cont = 1; cont < 101; cont++){ if(cont % resto == 10){ System.out.println("O resto dessa divisão é 10"); resto++; }else System.out.println("O contador é: " + cont); try{ Thread.sleep(10); }catch(InterruptedException e){} } } }

[code]public class TestaContaDez {

/**
 * @param args
 */
public static void main(String[] args) {
	ContaDez cd = new ContaDez();
	Thread conta = new Thread(cd);
	conta.start();

}

}[/code]

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:

public class ContaDez implements Runnable{
    public void run(){
        int resto = 1;
        for(int cont = 1; cont < 101; cont++){
            if(cont % resto == 10){
                System.out.println("O resto dessa divisão é 10");
                resto++;
            }else
                System.out.println("O contador é: " + cont + " o var resto é:" + resto + " o resto em si é:" + (cont % resto));
            try{
                   Thread.sleep(10);
            }catch(InterruptedException e){}
        }
    }

    public static void main(String[] args){
        Thread t = new Thread(new ContaDez());
        t.start();
    }
}

Outra coisa… 10 milisegundo de sleep??? vc quis dizer 10000 certo (10 segundos)