• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

NameException

Transformar caracter em inteiro

7 mensagens neste tópico

Boas ppl...

Alguem me pode dar uma dica? Como saber o valor, em inteiro, das teclas???????

Isto é, tenho a seguinte funcão para ler o input:

//Ler informacao a partir do teclado
	public static String leString(){
		String s = " ";

		try{
    		byte [] b = new byte[128];
    		int lidos = System.in.read(b);
    		//lidos-1 para tirar o caracter "enter"
    		s         = new String(b,0,lidos-1);
		}

		catch(Exception e){ s = "Erro!!!";}
		return s;
	}

Agora a duvida tá em fazer:

int entrada = ??????.leString();

ou

int entrada = leString().?????????;

para depois fazer um

while(entrada <= x){
    if(entrada == x-1){
System.out.println("Editor " + "\n" );
    }

  (....)


}  // x <- um inteiro que depois definirei

E assim, dependendo da tecla pressionada, executa determinado método!!!

Obrigado!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao garanto que a sintaxe seja exactamente assim (nao me apetece abrir o IDE neste PC)


        int x = 20;
        int entrada = x;
        while (entrada <= x) {

            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            String integerAsString = bufferedReader.readLine();
            try {
                entrada = Integer.parseInt(integerAsString);
            } catch (NumberFormatException e) {
                // do nothing
            }

        }

Ou , se quiseres da tua forma


public int leString(){
      int entrada = x;
        while (entrada <= x) {

            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            String integerAsString = bufferedReader.readLine();
            try {
                entrada = Integer.parseInt(integerAsString);
            } catch (NumberFormatException e) {
                // do nothing
            }

        }
       return entrada;
}


e chamas:

int oNumeroLido = leString();
       

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, obrigado...

mas em

String integerAsString = bufferedReader.readLine();

esta a dar o seguinte erro: unreported exception java.io.IOException; must be caught or declared to be thrown

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois tens da apanhar ou lançar

podes fazer por ex:


public int leString(){
      int entrada = x;
        while (entrada <= x) {

            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            String integerAsString = bufferedReader.readLine();
            try {
                entrada = Integer.parseInt(integerAsString);
            } catch (NumberFormatException e) {
                // do nothing
            } catch (IOException e){
               System.out.println("Erro do sistema.");
            }

        }
       return entrada;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora