Jump to content
Pavolin

Duvidas em uma serie de problemas

Recommended Posts

Boa noite, 

Estou aprendendo java na faculdade e tenho uma lista para fazer, me esforcei o fim de semana todo e conseguir só fazer algumas partes, peco por favor para vocês me ajudarem vou por minhas duvidas a seguir:

1.Faça um programa que deverá ler e armazenar na memória um as informações das pessoas. Deverá ser criada uma classe Pessoa com os atributos nome, data de nascimento, peso e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. Crie um método para calcular o índice de massa corporal (IMC) de uma pessoa seguindo a seguinte fórmula
                                 IMC=peso/〖altura〗^2 
Deverá ser criada uma classe de teste para testar a chamada de todos os métodos.

(neste problema consegui fazer a  classe pessoa mas faltando algumas coisas que esta comentada no código, e não consegui fazer a classe teste)

"classe pessoa":
[
import java.util.Scanner;

public class Pessoa{

    private static String nome;
    private static String dataNascimento;
    private static float altura;
    private static float peso;
    private static float idade;

    public static String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        Pessoa.nome = nome;
    }

    public static String getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNacimento(String dataNacimento) {
        Pessoa.dataNascimento = dataNacimento;
    }

    public static float getAltura() {
        return altura;
    }

    public void setAltura(float altura) {
        Pessoa.altura = altura;
    }

    public static float getPeso() {
        return peso;
    }

    public void setPeso(float peso) {
        Pessoa.peso = peso;
    }
    
    public static float getIdade() {
        return idade;
    }

    public static void setIdade(float idade) {
        Pessoa.idade = idade;
    }
    
    public static Scanner entrada;
    public static float imc;
    
    public static void main(String[] args) {
        entrada = new Scanner(System.in);
        
        System.out.println("Digite seu nome: ");
        nome = entrada.nextLine();
        
        System.out.println("Digite sua data de nacimento: ");
        dataNascimento = entrada.nextLine();
    
        System.out.println("Digite seu Peso: ");
        peso = entrada.nextFloat();
        
        System.out.println("Digite sua Altura: ");
        altura = entrada.nextFloat();
    }
    
    public void imc() {
        imc = altura * altura;
        imc = peso / imc;
    }
    
    // preciso de um metodo para calcular a idade do usuario que seria a data atual - a data de nacimento.
    // alocando na variavel idade.
    
    public static void main1(String[] args) {
        System.out.println("Seu nome e: " + nome);
        System.out.println("Sua altura e: " + altura);
        System.out.println("Seu peso e: " + peso);
        System.out.println("Sua idade e: " + idade);
        System.out.println("Seu IMC : " + imc);
    }
}
]

2- Escreva uma classe cujos objetos representam alunos matriculados em uma disciplina. Cada objeto dessa classe deve guardar os seguintes dados do aluno: matrícula, nome, 2 notas de prova e 1 nota de trabalho. Escreva os seguintes métodos para esta classe: calculaMedia - calcula a média final do aluno (cada prova tem peso 2,5 e o trabalho tem peso 2) calculaFinal calcula quanto o aluno precisa para a prova final (retorna zero se ele não for para a final). Deverá ser criada uma classe de teste para testar a chamada de todos os métodos.

( Neste eu consegui fazer a classe alunos, mas falta a classe calculaMedia , calculaFinal e a classe teste)

"Classe aluno":
[
package Exercicio2;

public class Alunos {

        private static String matricula;
        private static String nome;
        private static float nota1;
        private static float nota2;
        private static float trabalho;
        
        public static String getMatricula() {
            return matricula;
        }
        public void setMatricula(String matricula) {
            Alunos.matricula = matricula;
        }
        public static float getNota1() {
            return nota1;
        }
        public void setNota1(float nota1) {
            Alunos.nota1 = nota1;
        }
        public static String getNome() {
            return nome;
        }
        public void setNome(String nome) {
            Alunos.nome = nome;
        }
        public static float getNota2() {
            return nota2;
        }
        public void setNota2(float nota2) {
            Alunos.nota2 = nota2;
        }
        public static float getTrabalho() {
            return trabalho;
        }
        public void setTrabalho(float trabalho) {
            Alunos.trabalho = trabalho;
        }
}
]

3-Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um prédio. A classe deve armazenar o andar atual (térreo = 0), total de andares no prédio (desconsiderando o térreo), capacidade do elevador e quantas pessoas estão presentes nele. A classe deve também disponibilizar os seguintes métodos: 
construtor : que deve receber como parâmetros a capacidade do elevador e o total de andares no prédio (os elevadores sempre começam no térreo e vazio); 
Entra : para acrescentar uma pessoa no elevador (só deve acrescentar se ainda houver espaço); 
Sai : para remover uma pessoa do elevador (só deve remover se houver alguém dentro dele); 
Sobe : para subir um andar (não deve subir se já estiver no último andar); 
Desce : para descer um andar (não deve descer se já estiver no térreo); 
Encapsular todos os atributos da classe (criar os métodos set e get).
Deverá ser criada uma classe de teste para testar a chamada de todos os métodos.

(Este eu não tenho a menor ideia de como fazer não conseguir fazer nada dele)

4-Crie uma classe Televisao e uma classe ControleRemoto que pode controlar o volume e trocar os canais da televisão. O controle de volume permite: 
•    aumentar ou diminuir a potência do volume de som em uma unidade de cada vez; 
•    aumentar e diminuir o número do canal em uma unidade 
•    trocar para um canal indicado; 
•    consultar o valor do volume de som e o canal selecionado. 

(Este eu consegui fazer as duas classes (Televisao e ControleRemoto) mas esta faltando algumas coisas que esta comentado nos codigos)

"Classe televeisao":
[
package Exercicio4;

public class Televisao {
    private static int canal;
    private static int volume;
    
    public static int getCanal() {
        return canal;
    }
    public static void setCanal(int canal) {
        Televisao.canal = canal;
    }
    public static int getVolume() {
        return volume;
    }
    public static void setVolume(int volume) {
        Televisao.volume = volume;
    }

    public void canal() {
        System.out.println(nextInt(99));
        // Nao sei se esta correto mas fiz esse metodo para limita os canais a no maximo 99.
        //necessito tambem de um metodo para quando o usuario por + aumentar o numeor do canal e - diminuir.
        // para ele ter duas opcoes ou pelo numero certo dele ou pelo + e -.
    }
    
    public void volume() {
        System.out.println(nextInt(100));
        // mesma coisa aki mas com o volume limitado a 100.
    }
    
    private char[] nextInt(int i) {
        return null;
    }
}
]

"classe controle remoto":
[
package Exercicio4;

import java.util.Scanner;

public class ControleRemoto {
    private static int consulta;
    private static Scanner entrada;

    public static int getConsulta() {
        return consulta;
    }

    public static Scanner getEntrada() {
        return entrada;
    }

    public static void setEntrada(Scanner entrada) {
        ControleRemoto.entrada = entrada;
    }
    
    public static void setConsulta(int consulta) {
        ControleRemoto.consulta = consulta;
    }
    
    public static void main(String[] args) {
        setEntrada(new Scanner(System.in));
        
    //O usuario ira colocar as informacoes ex: numero do canal que deseja trocar,
    // se deseja aumentar ou diminuir o volume (obs: tem dois jeitos de trocar de canal pelo numero ou por + e -)
    }    
    
    // um metodo para imprimir a confirmacao da entrada ex: voce trocou para o canal 5 , 
    // o volume da tv esta em 12.(que seria a parte de consulta)
}
]

sei que estou abusando aqui mas estou tendo dificuldades e preciso entregar logo e não me sobra tempo para fazer de semana.
Desde já agradeço

Share this post


Link to post
Share on other sites

Opa @Pavolin, uma coisa de cada vez, hehe. 

 

Vamos ver o exercício 1, na parte da data.

Existe uma classe muito interessante chamada LocalDate. 

public int calculaIdade(){
	DateTimeFormatter formatoData = DateTimeFormatter.ofPattern("d/MM/yyyy");

	String dataNascimento = "25/05/2018"; 		//aqui no caso é a data que tu leu do usuário
	LocalDate dateFormatted = LocalDate.parse(dataNascimento, formatoData);

	return Period.between(dateFormatted, LocalDate.now()).getYears();
}

 

Entendendo:

*Na primeira linha a gente define um padrão de data, para o software entender (até para fazer o cálculo depois). Deverá corresponder com o padrão que tu quer e o usuário deverá digitar da mesma forma (ou tu lê e trata depois).

 

*A segunda linha é só pra exemplificar, já que tu já terá um valor na tua variável de data.

 

*Na terceira linha usamos, finalmente, o LocalDate. Vamos transformar aquela string que contém a data para uma variável de data propriamente dita, utilizando o padrão que definimos anteriormente.

 

*Por último, retornamos um valor inteiro, usando como base o método estático between da classe Period (que recebe dois LocalDate como parâmetro). Esse método trará dia, mês e ano, por isso aplicamos o getYears() para obtermos somente os anos.

 

Espero ter ajudado. 

Se quiser, podemos tentar ir resolvendo os demais.

 

Abraço!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Mad_Max
      Estou lendo o livro do waldemar neto sobre nodejs, e tem uma parte que não consigo sair, fiz uma configuração para rodar um teste  na minha aplicação, baixei os modules que o livro pediu: mocha, chai e p supertest e no meu package.json coloquei o seguinte script: 
       
      "test:integration": "NODE_ENV=test mocha --opts test/integration/mocha.opts test/integration/**/*_spec.js"  
      so que quando eu rodo com o npm run dev tes:integration como o livro mandou me aparece esse erro:
       
      > api-loja-virtual@1.0.0 test:integration /home/ed/projeto/api-loja-virtual
      > NODE_ENV=test mocha --opts test/integration/mocha.opts test/integration/**/*_spec.js
      /home/ed/projeto/api-loja-virtual/node_modules/mocha/lib/cli/options.js:209
            throw new Error(`Unable to read ${filepath}: ${err}`);
            ^
      Error: Unable to read test/integration/mocha.opts: Error: ENOENT: no such file or directory, open 'test/integration/mocha.opts'
          at loadMochaOpts (/home/ed/projeto/api-loja-virtual/node_modules/mocha/lib/cli/options.js:209:13)
          at loadOptions (/home/ed/projeto/api-loja-virtual/node_modules/mocha/lib/cli/options.js:310:22)
          at Object.<anonymous> (/home/ed/projeto/api-loja-virtual/node_modules/mocha/bin/mocha:29:14)
          at Module._compile (internal/modules/cjs/loader.js:776:30)
          at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
          at Module.load (internal/modules/cjs/loader.js:643:32)
          at Function.Module._load (internal/modules/cjs/loader.js:556:12)
          at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
          at internal/main/run_main_module.js:17:11
      npm ERR! code ELIFECYCLE
      npm ERR! errno 1
      npm ERR! api-loja-virtual@1.0.0 test:integration: `NODE_ENV=test mocha --opts test/integration/mocha.opts test/integration/**/*_spec.js`
      npm ERR! Exit status 1
      npm ERR! 
      npm ERR! Failed at the api-loja-virtual@1.0.0 test:integration script.
      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
      npm ERR! A complete log of this run can be found in:
      npm ERR!     /home/ed/.npm/_logs/2019-07-18T23_16_05_549Z-debug.log
       
      oque pode ser ??
       
      segue o github para baixar o code: https://github.com/MAdMAX-io/API-loja-virtual
    • By TaisStream
      Como configurar essa query com inner join, no arquivo .xml?
      Me ajudem pf eu comecei mas estou perdida,  pesquisei já vi algo de /root... mas minha query esta diferente, nao sei se falta algo
       
       
      QUERY ATUAL:
      set mapreduce.job.queuename=low_relatorios; 
      set mapreduce.job.max.split.locations=100;
      SELECT a.num_msisdn,
             a.max_date
      FROM fact.dw_f_rcrg_gems_rate_subsc t
      INNER JOIN
        (SELECT num_msisdn,
                MAX(dat_operacao) AS max_date
         FROM fact.dw_f_rcrg_gems_rate_subsc
         WHERE (ref_date)>=$startdate
           AND ref_date<=$finaldate
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
      AND a.max_date = t.dat_operacao
      WHERE ref_date>=$startdate
      AND ref_date<=$finaldate;
       
      QUERY CONFIGURANDO NO XML: 
       
          <value><![CDATA[[
      INSERT
              overwrite TABLE fact.dw_f_rcrg_gems_rate_subsc t 
              (
                      a.num_msisdn,
                      a.max_date
              )
      (SELECT
          INNER JOIN
      SELECT      
              MAX(dat_operacao) AS max_date;
      FROM fact.dw_f_rcrg_gems_rate_subsc) a
         WHERE (ref_date)>='$startdate'
           AND ref_date<=$'finaldate'
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
                  AND a.max_date = t.dat_operacao
      WHERE ref_date>='$startdate'
      AND ref_date<=$finaldate;]]>
      </value>
       
       
      Poderiam me ajudar por favor, sou estagiario na area e ainda estou aprendendo.
    • By Lucas Galvanini
      Quais frameworks vocês já utilizaram para desenvolver pra Raspberry pi?
      Algum deles é Java?
       
      Fiquei sabendo recentemente de um framework gratuito pra Raspberry chamado TotalCross (www.totalcross.com)
      Me disseram que é bem fácil de usar e tem um footprint bem otimizado.
    • By Guss
      A programadora Cafiaspirina Cruz deseja que todos os elementos <h2> de sua página ganhassem a classe "titulo", para que depois a fonte dos <h2> pudesse ser modificada por um CSS,  deixando-os com um destaque específico. Escreva abaixo um código em Javascript para que todos os <h2> da página ganhem a classe "titulo" de uma única vez?
    • By Guss
      Agradeço quem puder me ajudar a responder essa questão de PHP <3.
      Desenvolva um programa utilizando PHP e  exibir os resultados desse programa que tenha todas as classes suficientes para que:
       
      Represente o nome completo de uma pessoa, composto de três strings (nome próprio, nome do meio e nome da família). 
       
      Escreva nessa classe o método rubrica que retorna somente as iniciais do nome completo em caracteres minúsculos,  Escreva nessa classe o método assinatura que retorna as iniciais dos nomes próprio e do meio (com pontos)  Escreva nessa classe um método que retorne o nome de família completo.  Por exemplo, se o nome da pessoa representado por essa classe for “Marijuana Pepsi Jackson”, o método rubrica deve retornar ”mpj” e o método assinatura deve retornar ”M.P.Jackson”. Para facilitar, considere armazenar os três nomes em strings separadas.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.