Minha apresentação (pule para o próximo parágrafo se não interessar):
Olá pessoal. Sou um iniciante em Java, o conheci junto com meu curso de ciência da computação, há 2 meses. Antes disso só tinha uma noção de C, como lógica, laço de repetição e matriz. Gostei muito de Java, achei muito fácil de aprender e sou muito curioso, estou sempre lendo bastante e com vontade de criar programas funcionais assim que possível! E esta é minha primeira mensagem no fórum GUJ. =)
Bom, vi um pouco de gerenciamento de threads e me deu vontade de criar um programinha fosse escrevendo na tela! Mas considero meu método um pouco ineficiente:
Já evolui de:
System.out.print("O");
Thread.sleep(120);
System.out.print("i");
Thread.sleep(120);
System.out.print("!");
Thread.sleep(120);
Para:
char[] vetor = {'O','i','!'}
for (char i : vetor) {
System.out.print(i);
Thread.sleep(120);
}
E agora consegui também:
public class SimulaDigitacao
{
public static void main (String[] args)
{
String x = "Obrigado por ler isso.";
int tam = x.length();
for (int cont = 0; cont < tam; cont++)
try
{
System.out.print(x.charAt(cont));
Thread.sleep (120);
}
catch (Exception UsuarioBobo) {}
}
}
A lógica está aí em cima, mas caso seja importante, minha intenção é sempre repetir, como abaixo:
public class SimulaDigitacao
{
public static void main (String[] args)
{
String x = "Obrigado por ler isso.\n";
int tam = x.length();
try
{
while (true)
{
for (int cont = 0; cont < tam; cont++)
{
System.out.print(x.charAt(cont));
Thread.sleep (120);
}
Thread.sleep(150);
}
}
catch (Exception UsuarioBobo) {}
}
}
Mas, como bom novato, estou sempre procurando maneiras mais eficientes de fazer o que fiz, principalmente de outras pessoas, com uma visão diferente. E é isso que quero saber aqui: qual uma maneira melhor de fazer isso? (porque já sei que usar laço de repetição para coisas assim pode ser mais fácil, mas menos rápido do que deveria)
E, se não for muito complexo para explicar em uma mensagem, gostaria de saber como impedir que o usuário digite no programa, porque, da forma acima, qualquer coisa que ele digite sai no meio da execução.
Obrigado!