Testando Thread

2 respostas
P
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){}
		}
	}
}
public class TestaContaDez {

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

	}

}

2 Respostas

viniciusfaleiro

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();
    }
}
viniciusfaleiro

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

Criado 17 de fevereiro de 2010
Ultima resposta 17 de fev. de 2010
Respostas 2
Participantes 2