Ir ao conteúdo
  • Cadastre-se

Java Queria ler os atributos ao invés de setar eles.


Posts recomendados

package ExercicioPOO;

public class App {

    public static void main(String[] args) {
        Pessoa p = new Pessoa("Joao", 2004, 1.60f, 17, 2018); ///Ao invés de eu setar valores aqui, eu ler os valores digitados, como faço?
        
        String name = p.getNome();
        System.out.println("Nome: " + name);
        int nascimento = p.getDataNascimento();
        System.out.println("Ano de nascimento: " + nascimento);
        int idade = p.getIdade();
        System.out.println("Idade: " + idade);
        float altura = p.getAltura();
        System.out.println("A altura e: " + altura);     
                
    }
}

 

Link para o comentário
Compartilhar em outros sites

Para ler coisas do teclado, o jeito mais simples é usando a classe Scanner do pacote java.util. No construtor da classe, você passa o stream de entrada padrão do sistema (que no caso é o teclado). Com o objeto scanner criado, basta chamar um dos métodos next* dele (veja o exemplo).

 

Obs.: Cuidado com os métodos que lêem dados diferentes de String, esses métodos realizam a conversão na hora, então se a entrada for inválida, uma exceção será lançada.

 

import java.util.Scanner;

public class App {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Pessoa  pessoa  = new Pessoa();

        System.out.print("Informe o nome: ");
        pessoa.setNome(scanner.nextLine());

        System.out.print("Informe a idade: ");
        pessoa.setIdade(scanner.nextInt());
        scanner.nextLine();  // Limpa o buffer do teclado

        System.out.println(pessoa);
    }


    private static class Pessoa {

        private String nome;
        private int    idade;

        public Pessoa() {
        }

        public String getNome() {
            return nome;
        }

        public void setNome(String nome) {
            this.nome = nome;
        }

        public int getIdade() {
            return idade;
        }

        public void setIdade(int idade) {
            this.idade = idade;
        }

        @Override
        public String toString() {
            return "Pessoa{" +
                   "nome='" + nome + '\'' +
                   ", idade=" + idade +
                   '}';
        }
    }
}

 

 

Depois de ler algum dado que não seja String, é uma boa ideia limpar o buffer. Isso evita problemas com leituras futuras.

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!