olá, gostaria de fazer uma leitura de duas ou mais variáveis pelo console em uma única linha. Exemplo: “Thiago 9” , “José 8”.
Sendo que a String ‘Thiago’ seja armazenada em uma variável e o número 9 seja armazenada em outra variável ( int ).
alguém sabe como fazer isso de forma decente? desde já fico agradecido.
Separe as partes usando um split, ou um StringTokenizer,
transforme a segunda parte em inteiro
Guarde as duas informacoes nos atributos determinados.
matheuslmota
JoaoBluSCBR:
Simples, leia a String total do console.
Separe as partes usando um split, ou um StringTokenizer,
transforme a segunda parte em inteiro
Guarde as duas informacoes nos atributos determinados.
Eu vi esse tópico e veio na minha cabeça, seria bem útil se existisse algo parecido com o scanf, em que o cara passa uma string com os formato das variáveis à serem lidas e um conjunto de variáveis… Algo tipo
System.in.scanf("%s%d",nome,idade);
JoaoBluSCBR
Seria, e até dá pra fazer é só adaptar isso de alguma forma:
privateStringinput;publicvoidlerConsole(){InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderstdin=newBufferedReader(isr);System.out.print("Type some data for the program: ");try{input=stdin.readLine();}catch(java.io.IOExceptionex){ex.printStackTrace();}System.out.println("Lido do teclado = "+input);Stringseparados[]=input.split(" ");Stringnome=separados[0];intidade=newInteger(separados[1]);System.out.println("Nome: "+nome+"\nidade: "+idade);}
matheuslmota
JoaoBluSCBR:
Seria, e até dá pra fazer é só adaptar isso de alguma forma:
privateStringinput;publicvoidlerConsole(){InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderstdin=newBufferedReader(isr);System.out.print("Type some data for the program: ");try{input=stdin.readLine();}catch(java.io.IOExceptionex){ex.printStackTrace();}System.out.println("Lido do teclado = "+input);Stringseparados[]=input.split(" ");Stringnome=separados[0];intidade=newInteger(separados[1]);System.out.println("Nome: "+nome+"\nidade: "+idade);}
Dessa forma tá meio estática. Eu tô no trabalho agora, mas hoje à noite eu vou implementar um negocio mais dinâmico e posto aqui amanhã.