JAVA

Comecei este ano a programar, java e c.

Agora tenho uma duvida, em java, qual o código que preciso por para ele me ler o nome.

pergunto o nome e depois como posso por para ele me ler?

Ficava agradecida se me ajudassem

=)

:confused:
 
atao é assim, o meu professor mandou fazer um trabalho em java que pedisse a idade e o nosso nome.
para depois aparecer no ecra

"Cham-se (nome) e te idade (idade)"

a idade ja fiz mas o nome nao consigo porque é um pedaço de texto...

:S
 
Aqui ficam umas pistas para o teu problema...

A variavel System.in representa o "Standard input stream" e tem metodos para ler bytes.
Neste caso, se correres de uma linha de comandos, vais ler bytes dessa linha de comandos (Os bytes representam os caracteres que digitares nessa linha de comandos

Como queres ler uma linha completa, necessitas de usar uma classe que detecte as quebras de linha. Essa classe pode ser: BufferedReader

http://java.sun.com/j2se/1.5.0/docs/api/java/io/BufferedReader.html

Código:
BufferedReader d = new BufferedReader(new InputStreamReader(in));
 
É algo deste genero que procuras:

Código:
    String _name;
    final String _askName = "NOME: ";
    BufferedReader _in;
    
    
    public Constructor(){
    _in = new BufferedReader(new InputStreamReader(System.in));}
    
    
    public void setName(){
        try{
        System.out.println(_askName);
        _name = _in.readLine();}
        catch (IOException e){}
        }
??
 
Se quiseres mais bonito tens aqui: Pede o nome e recebe na mesma linha :-D :

Código:
String _name;
    final String _askName = "NOME: ";
    BufferedReader _in;
    PrintStream _out;
    
    
    public Constructor(){
    _in = new BufferedReader(new InputStreamReader(System.in));
     _out = new PrintStream(System.out);}
    
    
    public void setName(){
        try{
        _out.print(_askName);
        _name = _in.readLine();}
        catch (IOException e){}
        }


:banjump:
 
Porra, mas que gente complicada....
BufferedReaders? PrintStreams? bla bla bla bla? Tudo isso para fazer a coisa mais basica do java?

Scanner sc = new Scanner(System.in);
String nome = sc.nextLine();
int idd = sc.nextInt();
System.out.println("Chama-se " + nome + " e tem " + idd + " anos.");

Ou só numa linha e sem variaveis hein?
System.out.println("Chama-se " + sc.nextLine() + " e tem " + sc.nextInt() + " anos.");

É mesmo preciso estar a escrever 20 linhas de código para fazer isto?

E isso de por _ antes das variaveis é deselegante, não ajuda na leitura e não está escrito em nenhum guia de estilos.
 
O porque do uso de _ antes das variáveis?
Não concordo com essa política.


Eu acho extremamente deselegante :puke:

Isso trata-se de programar segundo uma convenção de Java.

Variáveis de instância e de classe devem começar por '_' para se distinguir das outras...


Para os mais espertinhos....

https://www.l2f.inesc-id.pt/~david/wiki/pt/index.php/Conven%C3%A7%C3%B5es_de_escrita_de_programas_em_Java

Vejam isso e aprendam um pouco de convenções de Java...

Sigam as que quiserem, mas não andem praí a falar à toa...
 
Última edição:
Porra, mas que gente complicada....
BufferedReaders? PrintStreams? bla bla bla bla? Tudo isso para fazer a coisa mais basica do java?



Ou só numa linha e sem variaveis hein?


É mesmo preciso estar a escrever 20 linhas de código para fazer isto?

Para o programa pequeno dela isso serve... Se calhar tenho mais linhas porque organizei isso em métodos. Organização de código já ouviste falar?

Se quiseres usar o teu Scanner para noutro método se calhar inicializas logo no construtor não?

Ah e btw gosto especialmente do teu segundo exemplo, por tudo na mesma linha mostra que és realmente muito bom :s... É pena isso não ser o que ela tinha pedido...

Se calhar se corresses o meu código sabias o que queria dizer... Mas enfim...
 
Back
Topo