Captura teclado / length()

ola… novamente aki…

por favor estou num impasse aki… tipo estou capturando td p q é digitado no teclado certo… mas tipo só consigo finalizar esse processo, pra poder mostrar no sysout() quando apertado ENTER… alguem poderia me ajudar a finalizar esse processo, quando atingisse 10 caracteres por exemplo???

segue abaixo o codigo:

[code]class TestaEntrada {
public static void main(String[] args) throws IOException {
java.io.InputStream is = System.in;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();

while(s != null) {
System.out.println(s);
s = br.readLine();
}
}
}[/code]

nao keres digitar mais de 10 caracteres?

entao toma:

[code]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Tecla {

	 public static void main(String[] args) throws IOException {  
	 java.io.InputStream is = System.in;  
	 InputStreamReader isr = new InputStreamReader(is);  
	 BufferedReader br = new BufferedReader(isr);  
	 String s = br.readLine();  
	   
	 while(s != null) {  
		 if(s.length()>=10){
	 System.out.println(s);  
	 s = br.readLine();  
	 break;
		 		}
		  
	 	}  

	      }
	 
	 }[/code]

Não dá para fazer isso só com BufferedReader.
Se você precisa realmente desse tipo de entrada formatada no console, você precisa usar um pacote como o Charva ( http://www.pitman.co.za/projects/charva/index.html ).

Não seria bem isso amigo, acho q me expressei mal…

vou explicar ± a situação…

é q trabalho numa empresa q desenvolve sistema de cartões certo… os sistemas todos são feitos em php, e agora resolvi migrar pra java… entaum, na tarja magnetica dos cartões tem caracteres gravados q são lidos como teclas do teclado como todos sabem… então o q eu quero fazer é o seguinte, passei o cartão, automaticamente quando chegar ao 10º caractere o sistema vai executar uma função qualquer sem precisar dar ENTER… mas não quero fazer isso com textField como ja é feito em php, quero ocultar esse numero… por isso to nessa busca…

me indicaram usar Scanner, mas sou iniciante… srsrs to penando…

c entenderam e puderem me ajudar, grato desde ja…

Vlew

Como você disse que o tal sistema era feito em PHP, ele tem de ser migrado, na verdade, para JSPs + Servlets; nesse caso, você continua usando as antigas páginas Web com o campo de texto limitado para 10 caracteres, como você fazia antes. Não use a tal classe Scanner, que é mais adequada para aplicações desktop (você quer migrar uma aplicação Web para outra aplicação Web, não?)

Para ocultar o tal número, use um campo do tipo Password na sua página. É mais seguro e mais simples.

desculpa… me expressei mal dnovo… hehehe

é q na verdade não é migrar o sistema sabe… rsrs eu estou migrando…

e quero fazer aplicação desktop msm…

Aplicação desktop? Não tem jeito, vai ter de aprender Swing ou SWT, ou no mínimo o tal do Charva. A classe Scanner (ou a nova classe Console do Java 6.0) é só para programas simples, sem formatação ou muita interatividade. Nem dá para fazer um programa daqueles que pedem:

  • Tecle qualquer tecla para continuar…
    Você no máximo pode pedir:
  • Tecle <ENTER> para continuar…

pois é… é essa a idéia… eheh APRENDER…

mas vlew pela ajuda ae… vou ver o q faço…