Como armazenar um int pela linha de comando

18 respostas
D

Olá, sou totalmente iniciante, estou com uma duvida bem insana, segue o codigo:

String n;
	BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
	System.out.print("Informe seu nome: ");
	n = br.readLine();

ble, o código acima armazena uma string, agora como eu faço para armazenar um int?? tipo int idade, System.out.println("Informe sua idade: ");
valeu!

18 Respostas

felipehand

Amigon, da proxima vez coloca o codigo usando as tags “Code” do forum…
Mas vamos lá. É simples manin… vc tem a string basta converter pra inteiro:

int exemplo = 0;
String n = ""; 
BufferedReader br = new BufferedReader (new InputStreamReader (System.in)); 
System.out.print("Informe seu nome: "); 
n = br.readLine(); 
exemplo = Integer.parseInt(n);

/* Continuação */

abs

D

ao felipe, então eu tinha feito exatemente = vc fez, só que n tem um jeito menos trabalhoso? tipo idade = var.umInt? e valeu pela ajuda!

lina

Oi,

Trabalhoso ?

Dá para fazer direto (sem criar outra variavel):

int n = Integer.parseInt(br.readLine());

Tchauzin!

felipehand

Não amigon, pelo que eu sei o cast é inevitavel…
unica coisa que vc pode fazer é matar o n:

int exemplo = 0;  
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));   
System.out.print("Informe seu nome: ");    
exemplo = Integer.parseInt(br.readLine());   
  
/* Continuação */
D

mais n tem como fazer isso sem usar o cast?

edmarr

=) ,
Olá poderia fazer assim .

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class TesteImputStream {

	public static void main(String[] args) throws IOException {
		String nome;
		int idade = 0;
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.print("Informe seu nome : ");
		nome = br.readLine();
		
		System.out.print("Informe Sua Idade : ");
		idade = new Integer(br.readLine());
		System.out.println("Nome : " + nome + " Idade: " + idade);
	}

}
D

hmm, n muda mto, mas vlw edmarr

c++ é taum simples, cin>>idade; ^^

felipehand

É que estamos falando de OO de verdade né?
Por favor marque o topico como resolvido amigon :wink:
vlwww

T

De uma olhada no java.util.Scanner

Vai facilitar a sua vida

ViniGodoy

Daniscuba:
hmm, n muda mto, mas vlw edmarr

c++ é taum simples, cin>>idade; ^^

Por outro lado, posso citar umas 9000 coisas que no C++ é muito complicado…

Como um cast, por exemplo:

byte x = static_cast<byte>(umaVariavelInt);

Ou que tal escrever uma variável com 3 casas após a virgula, e pelo menos 10 dígitos de espaçamento?

float dval = 9.5f;
 cout << "Fixed 10.3: " << setiosflags(ios::fixed) 
        << setw(10) << setprecision(3) << dval << endl;
ViniGodoy

Com scanner fica como no código abaixo. Aliás, ele é o método recomendado após o Java 5.

import java.util.Scanner;

public class TesteImputStream {
	public static void main(String[] args) throws IOException {
		Scanner in = new Scanner(System.in);
		System.out.print("Informe seu nome : ");
		String nome = in.nextLine();
		
		System.out.print("Informe Sua Idade : ");
		int idade = br.nextInt();
		System.out.println("Nome : " + nome + " Idade: " + idade);
	}
}

Não é tão elegante quanto o >> do c++, mas evita o cast.

D

É que estamos falando de OO de verdade né?
Por favor marque o topico como resolvido amigon
vlwww

C++ é OO tbm amigon!

ViniGodoy, valeu pela dica =D

rodpuc

Rá! :stuck_out_tongue:

felipehand

Não falei que não era… pelo menos não quis dizer.
Apenas disse que no exemplo, cin >> idade, o cin em nenhum momento entende que vc ta querendo colocar um inteiro. Pelo menos em tempo de compilação você nao vai ver isso…
O C++ é OO obvio

ViniGodoy

Eu também achei estranho aquele seu comentário. O complicado do C++ é que ele não implementa 1, mas sim, 3 paradigmas. E nem todos são assim tão amigáveis.

Ele implementa o paradigma estruturado, herdado do C.
Ele implementa o paradigma orientado a objetos.
E implementa o paradigma genérico (através dos templates). Aliás, é uma das poucas linguagens não-orientadas a script de amplo uso que implementa isso para valer.

O java implementa o paradigma orientado a objetos e o de programação reflexiva.

Não acho improvável que o paradigma reflexivo também entre no C++, cedo ou tarde.
Pelo menos, já se fala nisso.

felipehand

Acho que não tem nem adjetivo para uma pessoa que fala que o C++ não é OO…huahauhauhau

edmarr

Vc Deu isto a entender com aquele comentário Seu .

felipehand

Prometo melhorar meu português então, segundo mal entendido já…hauahua

Criado 3 de setembro de 2009
Ultima resposta 3 de set. de 2009
Respostas 18
Participantes 7