Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amantes da informática.
       
      Saudações.
       
      Estou usando o Eclipse Mars versão 4.5.0  e o 4.5.2, acredito que deva ter versões mais novas. 
      Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
       
      1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
      2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
      3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
       
      Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
       
      Grato,
       
      Cesar
       
       
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.