Boa noite, estou com problemas para terminar este código, não estou conseguindo fazer com que quando digitar um valor diferente, o sistema se encerre e mostre o número de quartos ocupados.
Efetuar Reservas - Solicitar ao usuário que armazene reservas de números dos quartos, que vão de 101 até 104 e de 201 até 204, caso o usuário digite um valor diferente desses, o sistema encerra informando o número de quartos ocupados. Lembrando que será necessário armazenar a quantidade de dias e o valor da diária. Calcular o valor total da reserva de um quarto ao final do cadastro e mostrar em tela.
O código está assim por enquanto.
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
ListaDeReserva lr = new ListaDeReserva();
int op;
do {
System.out.println("[1] - Efetuar Reserva");
System.out.println("[2] - Excluir Lista de Reservas");
System.out.println("[3] - Sair");
op = ler.nextInt();
switch (op) {
case 1:
Reserva r = new Reserva();
System.out.println("Digite o nome do Hóspede: ");
ler.nextLine();
r.setNome(ler.nextLine());
System.out.println("Digite o número do quarto: ");
r.setNumeroQuarto(ler.nextInt());
ler.nextLine();
System.out.println("Digite a quatidade de diárias: ");
r.setQuantidadeDias(ler.nextInt());
ler.nextLine();
System.out.println("Valor da diária: ");
r.setValorDiaria(ler.nextFloat());
System.out.println("Valor total da(s) diária(s): " + r.calcularTotal());
lr.fazerReserva(r);
break;
case 2:
if (lr.getListaReserva().isEmpty()) {
System.out.println("Não há reservas para excluir.");
} else {
int confirma;
System.out.println("Tem certeza que deseja excluir tudo? \n[1] - SIM \n[2] - NÃO");
confirma = ler.nextInt();
if (confirma == 1) {
lr.excluirListaReserva();
System.out.println("Lista excluída com sucesso.");
} else {
System.out.println("Opção inválida!!");
}
}
lr.excluirListaReserva();
break;
case 3:
System.out.println("Reserva(s) Finalizada!");
break;
default:
System.out.println("ERRO!");
}
} while (op != 3);
System.out.println(lr);
}
}
public class Reserva {
private String nome;
private int numeroQuarto;
private float valorDiaria;
private int quantidadeDias;
public Reserva() {
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getNumeroQuarto() {
return numeroQuarto;
}
public void setNumeroQuarto(int numeroQuarto) {
if(numeroQuarto >= 101 && numeroQuarto <= 104 || numeroQuarto >= 201 && numeroQuarto <= 204){
this.numeroQuarto = numeroQuarto;
}else{
System.out.println("Erro!");
}
}
public float getValorDiaria() {
return valorDiaria;
}
public void setValorDiaria(float valorDiaria) {
this.valorDiaria = valorDiaria;
}
public int getQuantidadeDias() {
return quantidadeDias;
}
public void setQuantidadeDias(int quantidadeDias) {
this.quantidadeDias = quantidadeDias;
}
public double calcularTotal() {
this.valorDiaria = this.valorDiaria * this.quantidadeDias;
return valorDiaria;
}
@Override
public String toString() {
return "\nReserva"
+ "\nNome do hóspede: " + nome
+ "\nNúmero do Quarto: " + numeroQuarto
+ "\nQuantidade de dias que ficou hospedado: " + quantidadeDias
+ "\nValor da(s) diária(s): " + valorDiaria
+ "\nValor total da(s) diária(s): " + calcularTotal();
}
}
import java.util.ArrayList;
public class ListaDeReserva {
private ArrayList<Reserva> ListaReserva;
public ListaDeReserva() {
this.ListaReserva = new ArrayList<Reserva>();
}
public ArrayList<Reserva> getListaReserva() {
return ListaReserva;
}
public void setListaReserva(ArrayList<Reserva> ListaReserva) {
this.ListaReserva = ListaReserva;
}
public void fazerReserva(Reserva r) {
this.ListaReserva.add(r);
}
public void excluirListaReserva(){
this.ListaReserva.clear();
}
@Override
public String toString() {
return "\nLista de Reservas" + ListaReserva;
}
}