import java.util.Scanner;
public class seila {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada = new Scanner(System.in);
System.out.println("MENU DE OPÇÕES");
System.out.println("");
System.out.println("1. Novo salário");
System.out.println("2. Férias");
System.out.println("3. Décimo terceiro");
System.out.println("4. Sair");
System.out.print("Digite a opção desejada: ");
int menu = entrada.nextInt();
//comando de repeticao
while (menu >= 1) {
if (menu == 1) {
System.out.println("prezado cliente iremos informar seu aumento");
System.out.println("Informe seu salário: R$ ");
int salario = entrada.nextInt();
int novo;
if (salario <= 1100) {
novo = (salario * 15)/100 + salario;
System.out.println("Seu salário era R$ " + (salario) + " e com o aumento de 15% passará a ser R$ " + (novo));
System.out.println();
break;
} else if (salario <= 2600) {
novo = (salario *10)/100 + salario;
System.out.println("Seu salário é de " + salario + " R$ voce acaba de ganhar um aumento de 10% R$"+ (novo));
break;
} else if (salario >= 2600) {
novo = (salario *5)/100 + salario;
System.out.println("Seu salario é de "+ salario +" R$ voce acaba de ganhar um aumento de 5% R$"+ (novo));
break;
}
} else if (menu == 2) {
System.out.println("Vamos calcular suas férias");
System.out.println("Informe seu salário: R$ ");
int salario = entrada.nextInt();
int ferias;
ferias = salario / 3 + salario;
System.out.println("Seu salário é R$ " + (salario) + " e você receberá de férias o seguinte valor: R$ " + (ferias));
System.out.println();
break;
} else if (menu == 3) {
System.out.println("Vamos calcular o valor do seu 13º Salário");
System.out.println("Informe seu salário: R$ ");
int salario = entrada.nextInt();
System.out.println("Informe há quantos meses você trabalha na empresa: ");
int meses = entrada.nextInt();
while (meses >= 13) {
System.out.println("Informe há quantos meses você trabalha na empresa: ");
meses = entrada.nextInt();
}
int decimo;
decimo = salario / meses;
System.out.println("Seu salário é R$ " + (salario) + " e o seu 13º Salário será R$ " + (decimo));
System.out.println();
break;
} else if (menu == 4) {
System.out.println("Muito obrigado volte sempre !");
break;
} else if (menu != 'N') {
System.out.println("Opção inválida! Tente novamente...");
System.out.println();
break;
}
}
entrada.close();
}
}
Fiz um exemplo aqui, deixei mais organizado tb, sempre legal pensar em separar as responsabilidades e não fazer tudo dentro da static void main.
import java.util.Scanner;
public class CalculoTrabalhador {
private final Scanner scanner;
private Integer step;
CalculoTrabalhador() {
this.scanner = new Scanner(System.in);
}
public static void main(String[] args) {
new CalculoTrabalhador().initMenu();
}
private void initMenu() {
this.listOptions();
this.step = scanner.nextInt();
while (step >= 1) {
switch (step) {
case 1 -> option1();
case 2 -> option2();
case 3 -> option3();
case 4 -> exit();
default -> this.writeInstruction("Opção inválida");
}
restartMenu();
}
scanner.close();
}
private void listOptions(){
this.writeInstruction("MENU DE OPÇÕES");
this.writeInstruction("");
this.writeInstruction("1. Novo salário");
this.writeInstruction("2. Férias");
this.writeInstruction("3. Décimo terceiro");
this.writeInstruction("4. Sair");
this.writeInstruction("Digite a opção desejada: ");
}
private void option1() {
this.writeInstruction("Prezado cliente, iremos informar seu aumento");
this.writeInstruction("Mas antes, informe o seu salário bruto: R$ ");
int salario = scanner.nextInt();
int novo;
if (salario <= 1100) {
novo = (salario * 15) / 100 + salario;
this.writeInstruction("Seu salário era R$ " + (salario) + " e com o aumento de 15% passará a ser R$ " + (novo));
} else if (salario <= 2600) {
novo = (salario * 10) / 100 + salario;
this.writeInstruction("Seu salário é de " + salario + " R$ voce acaba de ganhar um aumento de 10% R$" + (novo));
} else if (salario >= 2600) {
novo = (salario * 5) / 100 + salario;
this.writeInstruction("Seu salario é de " + salario + " R$ voce acaba de ganhar um aumento de 5% R$" + (novo));
}
}
private void option2() {
this.writeInstruction("Vamos calcular suas férias");
this.writeInstruction("Informe seu salário: R$ ");
int salario = scanner.nextInt();
int ferias;
ferias = salario / 3 + salario;
this.writeInstruction("Seu salário é R$ " + (salario) + " e você receberá de férias o seguinte valor: R$ " + (ferias));
this.writeInstruction("");
}
private void option3() {
this.writeInstruction("Vamos calcular o valor do seu 13º Salário");
this.writeInstruction("Informe seu salário: R$ ");
int salario = scanner.nextInt();
this.writeInstruction("Informe há quantos meses você trabalha na empresa: ");
int meses = scanner.nextInt();
while (meses >= 13) {
this.writeInstruction("Informe há quantos meses você trabalha na empresa: ");
meses = scanner.nextInt();
}
int decimo;
decimo = salario / 12 * meses;
this.writeInstruction("Seu salário é R$ " + (salario) + " e o seu 13º Salário será R$ " + (decimo));
this.writeInstruction("");
}
private void restartMenu() {
this.writeInstruction("____________________________________________");
this.writeInstruction("Você deseja voltar ao menu? (S/N)");
String resposta = scanner.next();
if (resposta.equalsIgnoreCase("S")) {
System.out.println();
this.listOptions();
this.step = scanner.nextInt();
} else {
this.exit();
}
}
private void exit() {
this.writeInstruction("Obrigado por utilizar nosso sistema! Volte sempre 😁");
System.exit(0);
}
private void writeInstruction(String message){
System.out.println(message);
}
}
Ah, eu to usando o JDK17, entao nao sei se esse case -> code
vai funcionar pra vc, então usa isso:
switch (this.step){
case 1:
this.option1();
break;
//TODO : Implementar a opção 2,3,4...
default:
this.writeInstruction("Opção inválida");
}
Mano muito obrigado mesmo !!! eu ainda sou bem iniciante e não peguei ainda essa parte de varios void. isso acabou sendo algo novo então muito obrigado, eu ja enviei o trabalho de outra maneira mas consegui resolver com essa solução
import java.util.Scanner;
public class seila {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada = new Scanner(System.in);
///////////////////////////////////////
//cabecalho onde fica as porcentagem///
///////////////////////////////////////
char resp = ‘S’;
double aumento15Porcento = 1.15;
double aumento10Porcento = 1.10;
double aumento5Porcento = 1.05;
do {
////////////////////////////////////////
//////// Retorno para o MENU///////////////
/////////////////////////////////////////
if(resp != 'S') {
System.out.println("Opção inválida!");
System.out.println("deseja voltar ao menu? (s/n)");
resp = Character.toUpperCase(entrada.next().charAt(0));
} else {
////////////////////////////////////////
//////// cabecalho do MENU///////////////
///////////////////////////////////////// xf
System.out.println("====================||");
System.out.println("MENU DE CALCULOS ||");
System.out.println("====================||");
System.out.println("1. Novo salário ||");
System.out.println("2. Ferias ||");
System.out.println("3. Décimo terceiro ||");
System.out.println("4. Sair ||");
int opcao = entrada.nextInt();
double salario = 0;
switch (opcao) {
/////////////////////////////
////// MENU DE SALARIO//////
///////////////////////////
case 1:
System.out.println("MENU SALÁRIO\n");
System.out.println("Escreva o valor do seu salário");
salario = entrada.nextDouble();
if (salario <= 1100) {
System.out.println("Seu salário é de R$ " + salario + " você acaba de ganhar um aumento de 15%, novo salário R$ " + (salario * aumento15Porcento));
System.out.println("deseja voltar ao menu? (s/n)");
resp = Character.toUpperCase(entrada.next().charAt(0));
} else if (salario <= 2600 ) {
System.out.println("Seu salário é de R$ " + salario + " você acaba de ganhar um aumento de 10%, novo salário R$ "+ (salario * aumento10Porcento));
System.out.println("deseja voltar ao menu? (s/n)");
resp = Character.toUpperCase(entrada.next().charAt(0));
} else {
System.out.println("Seu salario é de R$ "+ salario +" você acaba de ganhar um aumento de 5%, novo salário R$ "+ (salario * aumento5Porcento));
System.out.println("deseja voltar ao menu? (s/n)");
resp = Character.toUpperCase(entrada.next().charAt(0));
}
break;
////////////////////////////
///////MENU DE FERIAS///////
////////////////////////////
case 2:
System.out.println("FÉRIAS\n");
System.out.println("Escreva o valor do seu salário");
salario = entrada.nextDouble();
System.out.println("Você receberá R$ " + (salario * 1.33) + " nas suas férias");
System.out.println("deseja voltar ao menu? (s/n)");
resp = Character.toUpperCase(entrada.next().charAt(0));
break;
/////////////////////////////////////
///////MENU DE DECIMO TERCEIRO///////
/////////////////////////////////////
case 3:
System.out.println("DÉCIMO TERCEIRO\n");
System.out.println("Escreva o valor do seu salario");
salario = entrada.nextDouble();
System.out.println("Escreva a quantidade de meses que você trabalhou");
int mesesTrabalhados = entrada.nextInt();
//////////////////////////////
///////CALCULO DO MES///////
////////////////////////////
if(mesesTrabalhados < 1 || mesesTrabalhados > 12) {
System.out.println("Opção inválida!");
} else {
double decimoTerceiro;
decimoTerceiro = salario / mesesTrabalhados;
System.out.println("Seu décimo terceiro terá o valor de R$ " + decimoTerceiro);
System.out.println("deseja voltar ao menu? (s/n)");
resp = Character.toUpperCase(entrada.next().charAt(0));
}
break;
////////////////////////////
///////MENU DE SAIR///////
////////////////////////////
case 4:
resp = 'N';
if (resp == 4) {
System.out.println("ATÉ A PROXIMA");
}
break;
default: if (opcao == 0 || opcao >= 5) {
System.out.println("Opção inválida tente novamente!");
}
}
}
/////////////////////////////////////////////
///////PARTE DA FUNÇÃO VOLTAR PRO MENU///////
////////////////////////////////////////////
} while (resp == 'S' || resp != 'N');
System.out.println("Até a próxima!");
entrada.close();
}
}
**Se você tiver outra dica pra esse codigo ou se ve algo de errado me diga por favor **
Não se implementa o programa todo em um único método.
O método main
é para ser o ponto de entrada para a execução do programa e não a implementação inteira dele.
Divida seu código em métodos menores.