Construtores Java

Gostaria de saber como posso ter um construtor com parametros
e fazer com que o objeto receba os valores que devem ser recebidos via teclado.

  • Classe 1
public class Computador {

    //Instanciando scanner
    Scanner sc = new Scanner(System.in);
    //Atributos
    int armazenamento,memoria;
    String sistema,processador,marca;

    //Construtores
    public Computador(){
        
    }

    public Computador(int armazenamento, int memoria, String sistema, String processador, String marca) {
        this.armazenamento = armazenamento;
        this.memoria = memoria;
        this.sistema = sistema;
        this.processador = processador;
        this.marca = marca;
    }

    //SET 
    public void setArmazenamento(int armazenamento) {
        this.armazenamento = armazenamento;
    }

    public void setMemoria(int memoria) {
        this.memoria = memoria;
    }

    public void setSistema(String sistema) {
        this.sistema = sistema;
    }

    public void setProcessador(String processador) {
        this.processador = processador;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    //GET 
    public int getArmazenamento() {
        return armazenamento;
    }

    public int getMemoria() {
        return memoria;
    }

    public String getSistema() {
        return sistema;
    }

    public String getProcessador() {
        return processador;
    }

    public String getMarca() {
        return marca;
    }

    //ENTRADA DE DADOS
    public void entradaDados() {
        //ARMAZENAMENTO
        System.out.print("Insira a quantidade de armazenamento do computador: ");
        armazenamento = Integer.parseInt(sc.nextLine());
        //MEMORIA
        System.out.print("Insira a quantidade de memoria do computador: ");
        memoria = Integer.parseInt(sc.nextLine());
        //SISTEMA
        System.out.print("Insira o sistema operacional do computador: ");
        sistema = sc.nextLine();
        //PROCESSADOR
        System.out.print("Insira o processador do computador: ");
        processador = sc.nextLine();
        //MARCA
        System.out.print("Insira a Marca do computador: ");
        marca = sc.nextLine();
    }

    //SAIDA DE DADOS
    public void imprimir() {
        System.out.println(
        "\nArmazenamento: " + armazenamento + "GB"
        + "\nMemoria: " + memoria + " GB"
        + "\nSistema: " + sistema
        + "\nProcessador: " + processador
        + "\nMarca: " + marca
        );
    }
}
  • Classe 2
public class AppComputador {
    
    public static void main(String[] args) {
        Computador pc1 = new Computador();
        Computador pc2 = new Computador();
        Computador pc3 = new Computador(1000,8,"windows","intel i7","dell");
        Computador pc4 = new Computador(500,6,"Linux","Celeron 3","Lenovo");
           
        //Entrada de dados        
        System.out.println("PC1");
        pc1.entradaDados();
        System.out.println("----------------------------");
        System.out.println("PC2");
        pc2.entradaDados();
        System.out.println("----------------------------");
        
        //Saida de dados
        System.out.println("PC1:");
        pc1.imprimir();
        System.out.println("----------------------------");
        System.out.println("PC2:");
        pc2.imprimir();
        
        System.out.println("----------------------------");
         System.out.println("PC3:");
        pc3.imprimir();
        System.out.println("----------------------------");
        System.out.println("PC4:");
        pc4.imprimir();
        System.out.println("----------------------------");
    }
}

Primeiro você cria uma classe Main ou algo do tipo que vai ser responsável por ler/receber os dados inputados via teclado e salvá-los temporariamente em variáveis.

Depois de lidos os dados, você cria a sua classe Computador passando os parâmetros lidos anteriormente, que no caso serão as variáveis.

1 curtida