NameException Posted November 14, 2006 at 04:55 PM Report #64326 Posted November 14, 2006 at 04:55 PM 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!!!
Dabubble Posted November 14, 2006 at 05:02 PM Report #64327 Posted November 14, 2006 at 05:02 PM 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();
NameException Posted November 14, 2006 at 05:26 PM Author Report #64338 Posted November 14, 2006 at 05:26 PM 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
Dabubble Posted November 14, 2006 at 05:30 PM Report #64339 Posted November 14, 2006 at 05:30 PM 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; }
NameException Posted November 17, 2006 at 11:49 AM Author Report #64902 Posted November 17, 2006 at 11:49 AM Obrigado Dabubble!!! Cumprimentos
HecKel Posted November 19, 2006 at 04:48 PM Report #65319 Posted November 19, 2006 at 04:48 PM Boas! Porque não usaste o Scanner? bastava um .nextInt() para te resolver o problema 👍 http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html#nextInt() abraços, HecKel Look Left Blog
Dabubble Posted November 20, 2006 at 11:28 PM Report #65617 Posted November 20, 2006 at 11:28 PM Boas! Porque não usaste o Scanner? bastava um .nextInt() para te resolver o problema 😉 http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html#nextInt() abraços, HecKel Niceeeee, muito fixe, nao conhecia esta classe, é um super StringTokenizer. Muito util sim senhora
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now