// PATRÓN BUILDER - CONFIGURACIÓN DE LAPTOP
import java.util.Scanner;
// CLASE PRODUCTO: LAPTOP
class Laptop {
private String procesador;
private int ramGB;
private int ssdGB;
private boolean tecladoRGB;
private String sistemaOperativo;
private Laptop(Builder builder) {
this.procesador = builder.procesador;
this.ramGB = builder.ramGB;
this.ssdGB = builder.ssdGB;
this.tecladoRGB = builder.tecladoRGB;
this.sistemaOperativo = builder.sistemaOperativo;
}
public void mostrarConfiguracion() {
System.out.println("\n===== LAPTOP CONFIGURADA =====");
System.out.println("Procesador: " + procesador);
System.out.println("RAM: " + ramGB + "GB");
System.out.println("SSD: " + ssdGB + "GB");
System.out.println("Teclado RGB: " + (tecladoRGB ? "Sí" : "No"));
System.out.println("Sistema Operativo: " + sistemaOperativo);
}
// BUILDER
public static class Builder {
private String procesador = "Intel i5 (Default)";
private int ramGB = 8;
private int ssdGB = 512;
private boolean tecladoRGB = false;
private String sistemaOperativo = "Windows 11";
public Builder setProcesador(String procesador) {
this.procesador = procesador;
return this;
}
public Builder setRamGB(int ramGB) {
this.ramGB = ramGB;
return this;
}
public Builder setSsdGB(int ssdGB) {
this.ssdGB = ssdGB;
return this;
}
public Builder setTecladoRGB(boolean tecladoRGB) {
this.tecladoRGB = tecladoRGB;
return this;
}
public Builder setSistemaOperativo(String sistemaOperativo) {
this.sistemaOperativo = sistemaOperativo;
return this;
}
public Laptop build() {
return new Laptop(this);
}
}
}
// CLASE PRINCIPAL
public class MainLaptop {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("========================================");
System.out.println(" CONFIGURADOR DE LAPTOP");
System.out.println(" PATRÓN BUILDER");
System.out.println("========================================\n");
Laptop.Builder builder = new Laptop.Builder();
// PROCESADOR
System.out.println("PROCESADOR:");
System.out.println("1. Intel i5");
System.out.println("2. Intel i7");
System.out.println("3. Ryzen 7");
System.out.print("Seleccione: ");
int opProc = sc.nextInt();
switch (opProc) {
case 1: builder.setProcesador("Intel i5"); break;
case 2: builder.setProcesador("Intel i7"); break;
case 3: builder.setProcesador("Ryzen 7"); break;
default: System.out.println("Opción no válida, usando Intel i5");
}
// RAM
System.out.println("\nRAM:");
System.out.println("1. 8GB");
System.out.println("2. 16GB");
System.out.println("3. 32GB");
System.out.print("Seleccione: ");
int opRam = sc.nextInt();
switch (opRam) {
case 1: builder.setRamGB(8); break;
case 2: builder.setRamGB(16); break;
case 3: builder.setRamGB(32); break;
default: System.out.println("Opción no válida, usando 8GB");
}
// SSD
System.out.println("\nALMACENAMIENTO SSD:");
System.out.println("1. 256GB");
System.out.println("2. 512GB");
System.out.println("3. 1TB");
System.out.print("Seleccione: ");
int opSsd = sc.nextInt();
switch (opSsd) {
case 1: builder.setSsdGB(256); break;
case 2: builder.setSsdGB(512); break;
case 3: builder.setSsdGB(1024); break;
default: System.out.println("Opción no válida, usando 512GB");
}
// TECLADO RGB
System.out.print("\n¿Desea teclado RGB? (si/no): ");
sc.nextLine(); // limpiar buffer
String rgb = sc.nextLine();
builder.setTecladoRGB(rgb.equalsIgnoreCase("si"));
// SISTEMA OPERATIVO
System.out.println("\nSISTEMA OPERATIVO:");
System.out.println("1. Windows 11");
System.out.println("2. Windows 10");
System.out.println("3. Linux Ubuntu");
System.out.print("Seleccione: ");
int opSo = sc.nextInt();
switch (opSo) {
case 1: builder.setSistemaOperativo("Windows 11"); break;
case 2: builder.setSistemaOperativo("Windows 10"); break;
case 3: builder.setSistemaOperativo("Linux Ubuntu"); break;
default: builder.setSistemaOperativo("Windows 11");
}
// CONSTRUIR Y MOSTRAR
Laptop laptop = builder.build();
laptop.mostrarConfiguracion();
sc.close();
}
}
To embed this program on your website, copy the following code and paste it into your website's HTML: