Boa tarde,
Estou com uns problemas no meu programa…
“Um hotel concebeu uma forma original de cobrar aos seus clientes. A primeira noite custa 50 Euros,
a segunda 25 Euros (50/2), a n-ésima custa 50/n Euros.
Calcule a cobrança a efetuar a um cliente que ficou n noites no hotel (preço a pagar por noite e o total)”
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Introduza o numero de noites da sua reserva : ");
int noDias = sc.nextInt();
int amt = 0;
if (noDias <= 1)
amt = noDias * 50;
else if (noDias <= 2)
amt = 2 * 50 + ((noDias -4) * 50);
else if (noDias <= 9)
amt = 3 * 350 + 3 * 300 + ((noDias - 6) * 275);
else
amt = 3 * 350 + 3 * 300 + 3 * 275 + ((noDias - 9) * 225);
sc.close();
System.out.println("Numero de noites dormidas: " + noDias);
System.out.println("Preco Total a pagar: " + amt);
Mas por que vc quer fazer esse monte de if e else? Se vc não sabe a quantidade - e pelo jeito pode ser qualquer valor - o mais adequado (sensato, correto, sem gambiarra, etc) é usar um loop, como já foi sugerido.