Logo Passei Direto
Buscar
Durante a implementação de uma classe, o programador decidiu aplicar o conceito de sobrecarga de métodos construtores. Analise a implementação da classe abaixo. (Considere que os métodos Setters e Getters serão implementados corretamente).class PesoIdeal { String nome, situacao; int idade; double peso, altura; public PesoIdeal () { } public PesoIdeal(String n, double p) { setNome(n); setPeso(p); } public PesoIdeal(String n, double p, double a) { setNome(n); setPeso(p); setAltura(a); } public PesoIdeal(double a, double p) { setAltura(a); setPeso(p); }}
Compare as possíveis soluções apresentadas a seguir e avalie qual apresenta a correta codificação da criação do objeto atleta.
PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
Atleta = new PesoIdeal(1.80, 80.5);
PesoIdeal = new atleta(1.80, 80.5);
PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8);
PesoIdeal atleta = new PesoIdeal ("Paulo", "Sobrepeso",80.5, 1.8);
User badge image
ComportamentoHumano360

há 4 meses

Respostas

User badge image

Ed Verified user icon

há 4 meses

Vamos analisar as alternativas com base na classe PesoIdeal e seus construtores: A classe tem os seguintes construtores relevantes para criação do objeto: - PesoIdeal(double a, double p) — recebe altura (double) e peso (double) - PesoIdeal(String n, double p, double a) — recebe nome (String), peso (double) e altura (double) Agora, as alternativas: 1) PesoIdeal atleta = new PesoIdeal(1.80, 80.5); - Corresponde ao construtor PesoIdeal(double a, double p), está correta. 2) Atleta = new PesoIdeal(1.80, 80.5); - Erro: "Atleta" não foi declarado como variável, falta o tipo. 3) PesoIdeal = new atleta(1.80, 80.5); - Erro: sintaxe invertida, o tipo deve vir antes do nome da variável, e "atleta" não é uma classe. 4) PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8); - Erro: Paulo não está entre aspas, deveria ser "Paulo" (String). 5) PesoIdeal atleta = new PesoIdeal ("Paulo", "Sobrepeso",80.5, 1.8); - Erro: não existe construtor com 4 parâmetros, e "Sobrepeso" não é esperado. Resposta correta: PesoIdeal atleta = new PesoIdeal(1.80, 80.5);

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Um desenvolvedor precisa implementar o método entradaDados() na classe Treinamento, implementada a seguir. Considere que os métodos setters e getters serão implementados corretamente.
class Treinamento {
String nomeAluno; int ano; double nota;
// Métodos setters
// Métodos getters
}
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do método entradaDados() da classe, responsável por realizar a entrada de dados por meio do teclado.
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do método entradaDados() da classe, responsável por realizar a entrada de dados por meio do teclado.
Resposta correta: public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(sc.nextLine()); } Como os atributos ano e Nota não são String, precisamos realizar a conversão de dados, utilizando Integer.parseInt() para o ano, uma vez que ano é do tipo inteiro e Double.parseDouble() para a nota, uma vez que nota não é inteiro, sendo um tipo real (double).
Distratores:
public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(nextLine()); } Incorreta. Faltou identificar o objeto que executará o método nextLine(). Neste caso o objeto sc: (sc.nextLine()).
public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Double.parseDouble(sc.nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(sc.nextLine()); } Incorreta. O atributo ano é do tipo int. Sendo assim, devemos utilizar a entrada da seguinte forma: Integer.parseInt(sc.nextLine()), ao invés de Double.parseDouble(sc.nextLine()), que é para entrada de valores reais.
public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = sc.nextLine(); System.out.println("Nota:"); nota = sc.nextLine(); } Incorreta. Como os atributos ano e nota não são do tipo String, há necessidade de convertê-los para os seus respectivos tipos de dados apropriados, utilizando Integer.parseInt() e Double.parseDouble() respectivamente.
public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota = Integer.parseInt(sc.nextLine()); } Como os atributos ano e Nota não são String, precisamos realizar a conversão de dados, utilizando Integer.parseInt() para o ano, uma vez que ano é do tipo inteiro e Double.parseDouble() para a nota, uma vez que nota não é inteiro, sendo um tipo real (double). No caso, ambos os atributos foram tratados como inteiros, o que está errado.
c) public void entradaDados() { Scanner sc = new Scanner(System.in); System.out.println("Aluno:"); nomeAluno = sc.nextLine(); System.out.println("Ano:"); ano = Integer.parseInt(sc.nextLine()); System.out.println("Nota:"); nota = Double.parseDouble(sc.nextLine()); }

Um desenvolvedor precisa criar uma aplicação financeira para uso com a conversão de valores entre reais e dólares. Sabe-se que o valor do dólar deve ser alterado durante a execução da aplicação, mas de forma que, ao se atualizar esse valor por meio de um objeto, todos os demais sejam atualizados conjuntamente. Para isso, é necessário definir o atributo como compartilhado.
Examine as opções de instruções a seguir e determine aquela que permite que seja definido um atributo cujo valor seja compartilhado, ou seja, ao ser atualizado o seu valor, todos os demais objetos criados a partir da classe na aplicação serão atualizados.
Resposta correta: public static double dolar = 4.125;. Um atributo é dito estático quando é compartilhado por todas as instâncias da classe, ou seja, seu conteúdo é compartilhado por todos os objetos criados e, quando um objeto realiza uma alteração, o valor é atualizado em todos os demais.
Distratores:
public final double dolar = 4.125;. Incorreta. Um atributo é dito final quando o seu valor, após ser inicializado, não pode mais ser alterado durante a execução da aplicação, o seu valor será constante.
public double dolar = 4.125;. Incorreta. Um atributo sem modificador pode ser alterado durante a execução da aplicação.
public abstract double dolar = 4.125;. Incorreta. Um atributo não pode receber o modificador abstract, que é utilizado apenas com métodos. Um método abstract é aquele que não é implementado em uma classe abstrata ou interface.
public const double dolar = 4.125;. Incorreta. O modificador const não faz parte da linguagem Java.
c) public static double dolar = 4.125;

Mais conteúdos dessa disciplina