Ir ao conteúdo
  • Cadastre-se

Homem Aranha

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Homem Aranha

  1. Criei o código e classes abaixo, mas quando concluo a execução, retorna apenas o valor da "salário", não retorna este acrescido do "valor do contrato". Já verifiquei várias vezes e não consigo identificar o que esta ocorrendo.

     

    Ex.: se a remuneração for R$ 10.000,00 e eu cadastrar um contrato com o valor de 10 horas e R$ 10,00 a hora com data de 01/01/2022. Depois, se eu selecionar o mês para pesquisar a remuneração (que seria salário + valor do contrato) como sendo 01/2022, deveria ser somado mais R$ 100,000 ao salário, retornando ao final R$ 1.100,00, mas retorna apenas R$ 10.000,00. Em suma, não soma ao salário o valor do contrato daquele mês.

     

    Estou utilizando a nova API de data do Java. Não sei se o erro esta na forma de utilizar a mesma. Não consegui identificar.

     

    Agradeço muito se alguém puder me auxiliar a desvendar o que esta ocorrendo.

     

    As classes são as abaixo:

     

    MAIN


     

    package Main;
    
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    import java.util.Locale;
    import java.util.Scanner;
    
    import Enum.NiveisEnumerado;
    import Entities.Empregado;
    import Entities.Departamento;
    import Entities.ContratoHora;
    
    public class Aplicatioon {
    
        public static void main(String[] args) {
            
            Locale.setDefault(Locale.US);
            Scanner sc = new Scanner(System.in);
            
            System.out.println("Informe o Departamento: ");
            String departamento = sc.next();
            sc.nextLine();
            System.out.println("Informe o nome do empregado: ");
            String nomeempregado = sc.nextLine();
            System.out.println("Informe o nível do empregado: ");
            String nivel = sc.next();
            System.out.println("Informe o salário: ");
            Double salario = sc.nextDouble();
            Empregado empregado = new Empregado(nomeempregado, salario, NiveisEnumerado.valueOf(nivel), new Departamento(departamento));
            
            System.out.println("Informe quantos contratos serão cadastrados: ");
            int cadastrados = sc.nextInt();
            
            for(int i=1; i<=cadastrados; i++) {
                System.out.println("Informe a data do "+ i + "º contrato: ");
                String data = sc.next();
                DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy"); //converteu string em data
                LocalDate data1 = LocalDate.parse(data, format);        
                System.out.println("Quantidade de horas: ");
                Integer horascontrato = sc.nextInt();
                System.out.println("Valor por hora: ");
                Double valorhoracontrato = sc.nextDouble();
                ContratoHora contratohora = new ContratoHora(data1, horascontrato, valorhoracontrato);
                empregado.addcontrato(contratohora);
            }
            
            System.out.println("Informe o mês e ano a pesquisar: ");
            String mesano = sc.next();
            Integer mes = Integer.parseInt(mesano.substring(0,2));
            Integer ano = Integer.parseInt(mesano.substring(3));
            
            System.out.println("Dados do funcionário e remuneração total no mês informado: ");
            System.out.println("Nome: " + empregado.getNome());
            System.out.println("Departamento: " + empregado.getDepartamento().getNome());
            System.out.println("Remuneração: " + String.format("%.2f", empregado.remuneracao(mes, ano)));
            sc.close();
        }
    
    }

     

    CONTRATOHORA


     

    package Entities;
    
    import java.time.LocalDate;
    
    
    public class ContratoHora {
        
        private LocalDate data1;
        private Integer horascontrato;
        private Double valorhoracontrato;
        
        
        public ContratoHora() {
            
        }
        
        public ContratoHora(LocalDate data1, Integer horascontrato, Double valorhoracontrato) {
            this.data1 = data1;
            this.horascontrato = horascontrato;
            this.valorhoracontrato = valorhoracontrato;
            
        }
    
        public LocalDate getData1() {
            return data1;
        }
    
        public void setData1(LocalDate data1) {
            this.data1 = data1;
        }
    
        public Double getValorhoracontrato() {
            return valorhoracontrato;
        }
    
        public void setValorhoracontrato(Double valorhoracontrato) {
            this.valorhoracontrato = valorhoracontrato;
        }
    
        public Integer getHorascontrato() {
            return horascontrato;
        }
    
        public void setHorascontrato(Integer horascontrato) {
            this.horascontrato = horascontrato;
        }
        
        public Double valordocontrato() {
            return valorhoracontrato*horascontrato;        
        }
    }

     

    DEPARTAMENTO


     

    package Entities;
    
    public class Departamento {
    
        private String nome;
    
        public Departamento() {
            
        }
        
        public Departamento(String nome) {
            this.nome = nome;
        }
    
        public String getNome() {
            return nome;
        }
    
        public void setNome(String nome) {
            this.nome = nome;
        }
        
    }

     

    EMPREGADO

    package Entities;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
    import Enum.NiveisEnumerado;
    
    public class Empregado {
    
        private String nome;
        private Double salario;
        private NiveisEnumerado nivel;
        
        private Departamento departamento;
        private List<ContratoHora> contratos = new ArrayList<>();
        
        public Empregado() {
            
        }
        
        public Empregado(String nome, Double salario, NiveisEnumerado nivel, Departamento departamento) {
            this.nome = nome;
            this.salario = salario;
            this.nivel = nivel;
            this.departamento = departamento;
        }
    
        public String getNome() {
            return nome;
        }
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
        public Double getSalario() {
            return salario;
        }
    
        public void setSalario(Double salario) {
            this.salario = salario;
        }
    
        public NiveisEnumerado getNivel() {
            return nivel;
        }
    
        public void setNivel(NiveisEnumerado nivel) {
            this.nivel = nivel;
        }
    
        public Departamento getDepartamento() {
            return departamento;
        }
    
        public void setDepartamento(Departamento departamento) {
            this.departamento = departamento;
        }
    
        public List<ContratoHora> getContratos() {
            return contratos;
        }
        
        public void addcontrato(ContratoHora contratohora) {
            contratos.add(contratohora);
        }
        
        public void removecontrato(ContratoHora contratohora) {
            contratos.remove(contratohora);
        }
        
        public Double remuneracao(Integer mes, Integer ano) {
            double sum = salario;            
        
            for(int i = 0; i<contratos.size(); i++) {
                DateTimeFormatter formatada = DateTimeFormatter.ISO_DATE;
                LocalDate data = contratos.get(i).getData1();
                String datast = formatada.format(data);     //transformou data da lista em string
                Integer c_mes = Integer.parseInt(datast.substring(4, 6));    //converteu string em inteiro
                Integer c_ano = Integer.parseInt(datast.substring(7));        //converteu string em inteiro
                if(mes == c_mes && ano == c_ano) {
                    sum = sum + contratos.get(i).valordocontrato();    //chamou o valor do método para calcular o valor total do contrato
                }
            }    
            return sum;
        }
    }

     

    NIVEISENUMERADO

     

    package Enum;
    
    public enum NiveisEnumerado {
    
        INICIAL,
        INTERMEDIARIO,
        SENIOR;
        
    }


     

     

     

  2. Quando clico em Adicionar Plataforma, aparece a tela abaixo:

     

    image.png.b76191e482295a40e68ce360ae887891.png

     

    Selecionando a opção "Java Standard Edition" (uma explicação da internet orienta deste forma) e clicando em próximo,  aparece a tela seguinte:

     

    image.thumb.png.fe3c0fe827ee0ad7dce8df6a8a284724.png

     

     

    Selecionando a pasta "jdk-17.0.1" (expandi as demais, pois talvez seja útil), e clicando em próximo, aparece a mensagem de que a plataforma já esta sendo utilizada:

     

    image.thumb.png.ebebeab4e22f35c5d4513cdf1f43763a.png

     

    Adicionalmente, informo que, quando tento criar o projeto, somente esta disponível a opção Default para escolher. Quando abro a aba (área contornada a lápis), não têm a opção não Default.

     

    image.png

     

  3. Versões:

    Netbeans: 12.5

    JavaFX Scene Builder: 2.0

    JDK: 17.0.1

     

    Prezado(as),

     

    Estou tentando criar um projeto no Netbeans (categoria: JavaFX - Projeto: Aplicação FXML do JavaFX).

     

    Após, aparece a seguinte mensagem com explicação de erro:

     

    image.thumb.png.a61d8e338760a817f0a715d1eaed85b4.png

     

    Pelo que compreendi, deve ser utilizada uma plataforma não Default. Quando seleciono a opção Gerenciar Plataformas, aparece a tela seguinte:

     

    image.thumb.png.ec4a5978f008c66ecc35e8c868627fa4.png

     

    No lado esquerdo dessa tela, quando seleciono a opção JDK17 (não Default), não muda nada. Também não têm opção para salvar.

     

    Enfim, para criar o projeto, segundo instrução do Netbeans, preciso de uma plataforma não Default, mas não consigo criá-la. Já tentei aplicar várias explicações da internet, mas não funcionaram.

     

    Como estou iniciando os estudos agora, falta-me a experiência que seria muito útil. Meus estudos travaram já têm duas semanas.

     

    Se alguém souber me auxiliar, agradeço.

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!