Gente eu crie um classe RegistroJava e outra Calculadora e a classe principal Main.
na principal eu gostaria que a pessoa escolhe entre uma das duas porem nao consigo importa esta dando erro, alguem pode me dar um Help? segue o codigo abaixo;
Classe principal (main):
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int opcao = 0;
Scanner sc = new Scanner(System.in);
RegistroJava registro = new RegistroJava();
Calculadora calc = new Calculadora();
System.out.println("Seja Bem Vindo");
System.out.println("Escolha qual programa usar" );
System.out.println("opcao (1) RegistroJava ou opcao (2) Calculadora" );
opcao = Integer.parseInt(sc.nextLine());
if(opcao == 1){
System.out.println(registro);
}
if(opcao == 2) {
System.out.println(calc);
}else {
System.out.println("operacao invalida :-(");
}
}
}
Classe Registrojava
package com.company;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.Scanner;
public class RegistroJava {
public static class Main {
public static void main(String[] args) throws ParseException {
Scanner entrada = new Scanner(System.in);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
Scanner ler = new Scanner(System.in);
/*Variavel*/
double Taxa;
char resp = 0;
do {
try {
/*Data*/
System.out.println("Entre com data");
Date date = simpleDateFormat.parse(entrada.next());
/*hora entrada*/
Scanner entrada1 = new Scanner(System.in);
System.out.println("Entre com a hora de Inicio");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm");
LocalTime horaInicio = LocalTime.parse(entrada1.nextLine(), dtf);
/*hora saida*/
Scanner saida = new Scanner(System.in);
System.out.println("Entre com a hora Final");
dtf = DateTimeFormatter.ofPattern("HH:mm");
LocalTime horaFinal = LocalTime.parse(saida.nextLine(), dtf);
/*taxa do horario*/
Scanner entradaDados = new Scanner(System.in);
System.out.println("Digite o valor da taxa do horario R$: ");
Taxa = entradaDados.nextDouble();
/*Formula da diferença das horas*/
long time = ChronoUnit.MINUTES.between(horaInicio, horaFinal);
/*calculo de minutos total convertidos para horas e minutos*/
long horas = time / 60;
long minutos = time % 60;
double valorPago = (time * Taxa) / 60;
/*impressao na tela dos resultados */
System.out.println("A data de Entrada: " + simpleDateFormat.format(date));
System.out.println("A hora de Entrada: " + horaInicio);
System.out.println("A hora de Saida: " + horaFinal);
/*calculo final para me retorna os minutos total trabalhados em horas e minutos*/
String tempoFinal = String.format("A quantidade de horas trabalhadas e: %02d :%02d ", horas, minutos);
/*resultado da diferença das horas trabalhadas*/
System.out.println(tempoFinal);
System.out.printf("Valor a ser pago pelas horas Trabalhadas: R$ %.2f", valorPago);
System.out.println();
System.out.println("Deseja continuar (S/N)?");
resp = ler.next().toLowerCase().charAt(0);
} catch (ParseException e) {
e.printStackTrace();
ler.close();
}
} while (resp != 'n');
{
System.out.println("Obrigado por usar o Registro de Horas de Trabalho em Java!");
}
}
}
}
e a classe calculadora
package com.company;
import java.util.Locale;
import java.util.Scanner;
public class Calculadora {
public static class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//Variaveis
double valorUm;
double valorDois;
String operacao;
boolean continuar;
do{
System.out.println("Digite o valor um: ");
valorUm = sc.nextDouble();
System.out.println("Digite a Operacao(+, -, *, /): ");
operacao = sc.next();
System.out.println("Digite o valor um: ");
valorDois = sc.nextDouble();
System.out.println("Resultado:" + realizarCalculo(valorUm, valorDois, operacao));
continuar = verificarNovaOperacao();
}while(continuar);
System.out.print("Obrigada po usar calculadora java");
}
public static boolean verificarNovaOperacao(){
Scanner sc = new Scanner(System.in);
System.out.println("Deseja realizar nova operacao ? (S ou N): " );
return !sc.nextLine().toUpperCase(Locale.ROOT).equals("N");
}
public static Double realizarCalculo(Double valorUm, Double valorDois, String operacao) {
Double respostaCalculo = 0.0;
if ("+".equals(operacao)) {
respostaCalculo = valorUm + valorDois;
} else if ("-".equals(operacao)) {
respostaCalculo = valorUm - valorDois;
} else if ("*".equals(operacao)) {
respostaCalculo = valorUm * valorDois;
} else if ("/".equals(operacao)) {
respostaCalculo = valorUm / valorDois;
} else {
System.out.println("operacao invalida :-(");
}
return respostaCalculo;
}
}
}