Trantando Entrada de Dados

1 resposta
E

fiz uma código que armazena em uma string o que foi digitado no campo(tipo um edit) gostaria que: quando chegasse no limite máximo de caracteres que podessem ser escritos, não podesse mais digitar.
ex:um campo onde só digite no máximo 5 caracteres. e ao chegar no quinto não podesse escrever mais.

import java.io.DataInputStream;
import java.io.IOException;

public class JConsole2 extends Exception  {

	private int tamanho2; //numero máximo de caracteres que podem ser armazenados.
	private String erro; // String com mensagem informando algum erro de entrada.
	
	public JConsole2 (int tamanho, String err) { // Construtor
		tamanho2 = tamanho;
		erro = err;
	}
	
	public String edit()  {					
		String texto= "";
		char carac[] = new char[tamanho2];
		byte conjuntoBytes[] = new byte[tamanho2];
		DataInputStream input = new DataInputStream(System.in);		
				
			try{																		
				//Preenche o array conjuntoBytes
				input.read(conjuntoBytes) ;
				
											
			} 
			catch ( IOException e )	{
				System.out.print(erro);
			} 
			
			//laço que coloca o array de bytes num array de char e depois 
			//coloca numa só String
			for ( int i = 0; i < tamanho2; i++ ){
				carac[i] = (char) conjuntoBytes[i]; 
				texto += carac[i];					  
			}	  	
	  	return texto;
	  	
	}

	
	
	
}

classe que testa:

public class Teste2 {

	public static void main(String[] args) {
		
		/*Instanciando um campo de string  de nome 'ler' 
		 * cujo tamanho armazena 5 caracteres e uma String caso ocorra algum erro. */
		JConsole2 ler = new JConsole2 (5, "Erro na Leitura!");
		
		System.out.print("Nome: ");
		
		//ler.edit() método para criar o campo de texto no console, cujo valor de retorno eh uma String;
		String meutexto = ler.edit();
		
		System.out.print("voce digitou : " + meutexto);
		
		
		
	}
}

1 Resposta

A

Colque uma estrutura de repetição de forma que quando chegar ao numero de caracteres que vc quer, ele nao concatene maios a string!!
É mais uma questão de logica do que de java!

Criado 18 de abril de 2005
Ultima resposta 19 de abr. de 2005
Respostas 1
Participantes 2