Ir para conteúdo

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 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?
    • Por Jack Oliveira
      Ola pessoal boa tarde
      estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso
       
      Este é o codigo 
      <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>  
    • Por Rengavitp
      Boa noite pessoal!
       
      Estou fazendo um projeto web com spring boot e é a primeira vez que lido com imagens. Minha idéia é salvar imagens em uma pasta e depois recuperar essa imagem e mostrar, mas o problema que estou enfrentando é o seguinte, seu eu envio para o src do projeto na pasta imagens, eu até consigo acessar as imagens, mas preciso atualizar o projeto na IDE (isso vai acontecer em produção?) eu tentei salvar em uma pasta fora do source do projeto mas ai não consigo acessar. como devo fazer? fiz várias pesquisas, mas nenhuma me ajudou.
       
      Desde já agradeço.
    • Por Rengavitp
      Bom dia pessoal!

      Estou com o seguinte problema, tenho uma aplicação que funciona perfeitamente rodando na minha IDE (Spring Tool Suite) mas ao gerar o arquivo war e subir a aplicação no tom cat ele não funciona, mas apenas erro 404, abri o war e todos os arquivo estão lá, já tem seguir tudo quando e tutorial com problemas semelhantes mas nenhum resolveu. Abaixo mais informações,.

      Versão do java na aplicacao 11
      Versão do jva no servidor 11
      Versão do tomcat no servidor 8.5.55
       
      minha classe principal
      package br.com.masterplastfitas; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class MasterApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(MasterApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(MasterApplication.class); } } meu pom.xml
      <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.2</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>masterplast</groupId> <artifactId>Master</artifactId> <version>2.0</version> <packaging>war</packaging> <name>Master</name> <description>Aplicação web </description> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity5</artifactId> </dependency> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> <version>0.4</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.0</version> </dependency> </dependencies> <build> <plugins> <!-- <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> --> </plugins> </build> </project>  
    • Por Stephhany909
      While trying to persist an object with an attribute of type Point, defined as follows:
       
      @Entity @Table(name = "event") public class Event { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private long id; @Column(columnDefinition = "POINT") private Point coordinate; } I'm getting the error Data truncation: Cannot get geometry object from data you send to the GEOMETRY field.
      The corresponding database table is defined as follows:
       
      create table event ( id bigint not null auto_increment, coordinate POINT, primary key (id) ) engine= InnoDB; What am I missing?
       
×

Informação importante

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