public interface Controlavel {
void ligar();
void desligar();
}
public class Luz implements Controlavel {
private boolean ligado = false;
@Override
public void ligar() {
if (!ligado) {
ligado = true;
System.out.println("Luz ligada.");
} else {
System.out.println("Luz já está ligada.");
}
}
@Override
public void desligar() {
if (ligado) {
ligado = false;
System.out.println("Luz desligada.");
} else {
System.out.println("Luz já está desligada.");
}
}
}
public class ArCondicionado implements Controlavel {
private boolean ligado = false;
@Override
public void ligar() {
if (!ligado) {
ligado = true;
System.out.println("Ar-condicionado ligado.");
} else {
System.out.println("Ar-condicionado já está ligado.");
}
}
@Override
public void desligar() {
if (ligado) {
ligado = false;
System.out.println("Ar-condicionado desligado.");
} else {
System.out.println("Ar-condicionado já está desligado.");
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Luz luz = new Luz();
ArCondicionado ar = new ArCondicionado();
do {
System.out.println("Deseja ligar/desligar algum dispositivo (sim/não)? ");
String entrada = scanner.nextLine();
if (entrada.equalsIgnoreCase("sim")) {
System.out.println("Escolha um dispositivo para ligar/desligar (1 - luz / 2 - ar-condicionado): ");
int dispositivo = scanner.nextInt();
scanner.nextLine();
if (dispositivo == 1) {
System.out.println("Deseja ligar ou desligar esse dispositivo? ");
String comando = scanner.nextLine();
if (comando.equalsIgnoreCase("ligar")) {
luz.ligar();
} else if (comando.equalsIgnoreCase("desligar")) {
luz.desligar();
}
} else if (dispositivo == 2) {
System.out.println("Você deseja ligar ou desligar esse dispositivo? ");
String comando = scanner.nextLine();
if (comando.equalsIgnoreCase("ligar")) {
ar.ligar();
} else if (comando.equalsIgnoreCase("desligar")) {
ar.desligar();
}
}
} else if (entrada.equalsIgnoreCase("não")) {
System.out.println("Encerrando sistema...");
break;
}
} while (true);
scanner.close();
}
}