Prova da faculdade! get,set,array,herança. 7 questões. Alguém pode me ajudar? [RESOLVIDO]

Pessoal meu professor passou uma prova modelo da que irá passar na quarta que vem… e estou um pouco confusa, pois faltei em get,set,array e principalmente em herança……NÃO VIM PEDIR RESPOSTA (caso alguns pense que estou dando uma de espertinha pra não fazer). Quero ajuda para interpretar, pois tenho muita dificuldade.
Bom vamos para prova:
Regras
? Criar um novo projeto A3 em E:.
? A avaliação é individual com consulta ao material de apoio.
? Todas as questões deverão ser implementadas em Java.
? A interpretação da questão faz parte da avaliação.
? Em cada questão, a não implementação de todos os requisitos implica em redução à metade dos pontos de cada questão.
? As soluções para as questões serão coletadas em forma digital através de envio pelo e-mail ********************** ou dispositivo de armazenagem do professor.
? Serão avaliadas somente 3 (três classes) assinaladas pelo aluno.
? A avaliação soma no máximo 10 pontos.

Questões

  1. [ ] (4 pontos) Criar a classe Q1 conforme as instruções abaixo.
    ? Declarar a classe com os atributos privados: nome (String) E idade (byte).
    ? Criar os métodos “get” e ?set? para os atributos do item anterior.

  2. [ ] (4 pontos) Criar a classe Q2 conforme as instruções abaixo.
    ? Declarar a classe herdando a superclasse Q1 criada no item 1.
    ? Criar um construtor que recebe parâmetros (String e byte) e os atribui aos respectivos atributos da superclasse.

  3. [ ] (2 pontos) Criar a classe Q3 conforme as instruções abaixo.
    ? Ler um nome e uma idade do usuário.
    ? Instanciar a classe Q2 utilizando o nome e a idade informados pelo usuário.
    ? Exibir os atributos nome e idade da instância criada no item anterior.

  4. [ ] (5 pontos) Criar a classe Q4 conforme as instruções abaixo.
    ? Declarar um array de String de 3 que receberá nomes.
    ? Ler do usuário a digitação dos 3 nomes.
    ? Exibir os 3 nomes digitados em ordem inversa (a partir do último digitado para o primeiro).
    ? Requisito 1: Utilizar for, do ou while.

  5. [ ] (5 pontos) Criar a classe Q5 conforme as instruções abaixo.
    ? Declarar um array de String de N (informado pelo usuário) com nomes.
    ? Ler do usuário a digitação dos N nomes.
    ? Exibir os N nomes digitados em ordem inversa (a partir do último digitado para o primeiro)
    ? Requisito 1: Utilizar for, do ou while.

  6. [ ] (5 pontos) Criar a classe Q6 conforme as instruções abaixo.
    ? Ler do usuário um mês (valor inteiro).
    ? Exibir apenas o nome do respectivo mês conforme o valor lido do usuário: 1-janeiro/2-fevereiro/3-março/4-abril/5-maio/6-junho/7-julho/8-agosto/9-setembro/10-outubro/11-novembro/12-dezembro.
    ? Caso seja outro número exibir “Mês incorreto”.
    ? Requisito 1: Utilizar somente switch para condicionais.

  7. [ ] (6 pontos) Criar a classe Q7 conforme as instruções abaixo.
    ? Ler do usuário um mês (valor inteiro).
    ? Exibir apenas o nome do respectivo mês conforme o valor lido do usuário: 1-janeiro/2-fevereiro/3-março/4-abril/5-maio/6-junho/7-julho/8-agosto/9-setembro/10-outubro/11-novembro/12-dezembro
    ? Caso seja outro número exibir “Mês incorreto”.
    ? Requisito 1: Tratar exceções exibindo: nome da Classe da exceção lançada, a pilha de chamadas e mensagem “Ocorreu um erro. Contate o suporte!”.
    ? Requisito 2: Utilizar somente switch para condicionais.

Até agora só fiz a classe Q1, vejam se está certo:

[code]package a3;

/**
*

  • @author Stephany
    */
    public class Q1 {

    private String nome;
    private byte idade;

    public String getnome() {
    return nome;

    }

    public byte setidade (byte idade) {
    this.idade = 20;
    return idade;
    }
    }
    [/code]

E parei na Q2… Pois quando ele diz:

"Declarar a classe herdando a superclasse Q1 criada no item 1"

eu entendo por isso:

package a3;

import a3.Q1;
/**
 *
 * @author Stephany
 */
public class Q2 {
    
    
    Q1 Q2;
    Q2 = new Q1();
    
    
}

Ahhhhhhhhhhhhhhh mas dá errado :frowning:

Poxa eu faltei estou desesperada…

alguém pode me ajudar?

agora não da pra ajudar tou na faculdade , quando chegar em caso posso da uma olhada

[quote=Jardel.ads]
agora não da pra ajudar tou na faculdade , quando chegar em caso posso da uma olhada[/quote]

Tudo bem, eu te espero.

Mas se mais alguém quiser me ajudar eu aceito ajuda rsrs

eai?

da uma olhada nessas video aulas vai ajudar bastante a didatica é otima.

Estendendo Q1 em Q2:

public class Q2 extends Q1{

//Demais atributos, construtores e métodos da classe...

}

Para estudo rápido deixo esse link: http://www.metropoledigital.ufrn.br/aulas/disciplinas/poo/aula_02.html
Tem todos os assuntos solicitamos em sua atividade, é só estudar.

Espero ter ajudado, valeu!

[quote=JMARQ]Estendendo Q1 em Q2:

public class Q2 extends Q1{

//Demais atributos, construtores e métodos da classe...

}

Para estudo rápido deixo esse link: http://www.metropoledigital.ufrn.br/aulas/disciplinas/poo/aula_02.html
Tem todos os assuntos solicitamos em sua atividade, é só estudar.

Espero ter ajudado, valeu![/quote]

Obrigada querido :slight_smile:
Agora uma dúvida em construtor… Tipo:

quando faço ele :

[code]public class Q2 extends Q1 {

Q2 (String nome) {

}

Q2 (byte idade) {

}
}
[/code]

Ai vou atribuir os atributos eu não consigo por exemplo

this.nome pois a varivel nome é private…

O que eu faço?

Na classe Q1 você deve criar um construtor com dois parâmetros e atribui eles aos atributos privados.
Ex:

[code]
public class Carro{

private String cor;
private byte ano;

public Carro(String corDoCarro, byte anoDoCarro){
     this.cor = corDoCarro;
     this.ano = anoDoCarro;
}

//Métodos gets e sets dos atributos cor e ano...

}[/code]

Estendendo a classe Carro

[code]
public class Fusca extends Carro{

 public Fusca(String corFusca, byte anoFusca){
       super(corFusca, anoFusca)
}

}[/code]

Vamos por parte, qual é a sua dúvida? Qual exercício você está?

De boa, ve se isso alguns conceitos te ajuda
http://javaaberto.blogspot.com.br/2012/07/introducao-java-jr-o-que-um-java-junior.html

qualquer coisa da uma Googlada

stephany_13, sua questão 1 está errada, o certo é:


/** 
* 
* @author Stephany 
*/  
public class Q1 {  
  
 	private String nome;  
	private byte idade;
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public byte getIdade() {
		return idade;
	}
	public void setIdade(byte idade) {
		this.idade = idade;
	} 
}

Recomendo que você estude mais os conceitos de orientação a objetos, e entenda a razão de cada conceito, os métodos get e set são usados para que seja possível acessar atributos privados, centralizando a manutenção do seu código.

Vou contribuir com a segunda…

public class Q1 {    
    
    private String nome;    
    private byte idade;
  
    public String getNome() {  
        return nome;  
    }  
    public void setNome(String nome) {  
        this.nome = nome;  
    }  
    public byte getIdade() {  
        return idade;  
    }  
    public void setIdade(byte idade) {  
        this.idade = idade;  
    }   
}

//Primeiramente você herdar os atributos e métodos de Q1, como mencionado no exercício. Para fazer isso bastar colocar extends, ou seja, 
//a classe Q2 é uma extensão de Q1. Isso pode ser visualizado abaixo. 
 
public class Q2 extends Q1{

//O construtor é um método sem tipo de retorno, ele será iniciado com o operador new na classe desejada. 
//Os parâmetros dele serve como uma entrada de dados encapsulados, isto é, os atributos será visível em outra classe somente através do construtor
//ou através de outro tipo de método como getters e setters.      
        public Q2(String nome, Byte idade)
        {
                // Nessa linha a baixo, estou indicando que nome e idade será herdado de Q1. Dessa forma, a classe Q2 pode utilizar os atributos de Q1. 
                super(nome,idade);
        }
}

Espero ter ajudado,

Att,
André Vieira.

[code]/3. [ ] (2 pontos) Criar a classe Q3 conforme as instruções abaixo.
? Ler um nome e uma idade do usuário.
? Instanciar a classe Q2 utilizando o nome e a idade informados pelo usuário.
? Exibir os atributos nome e idade da instância criada no item anterior.
/
package control;

import java.util.Scanner;

public class Q3 {

//variaveis de instancia, nome e idade

//Construtor com 2 parametros, parametros que serão atribuidos às variaveis de instancia, idade e nome, respectivamente

   //Métodos getters

/**
 * @param args
 */
public static void main(String[] args) {
	
            //ler dados

	//Instanciar a classe Q3

	//Acessar os metodos getters

}

}
[/code]

Oi, tudo bem?

Tenta substituir os comentarios que eu fiz pelo seu código, assim o seu professor não vai ficar bravo com voce =)

Qualquer duvida, avisa. Bons estudos!

[]'s

ooooops!

Olá pessoal :slight_smile:
Com ajuda de um garoto aqui do guj consegui fazer o Q1,Q2,Q3 (quer dizer o menino fez tudo rs)
Mas parece que ele ta muito ocupado com as provas na faculdade e não pode me ajudar mais… Alguém poderia apenas me ajudar no Q4 e Q5 … Assim estudo eles.
Pois não tenho noção em Array. :cry:
Se alguém poder ajudar eu agradeço muito, preciso estudar… Amanha tenho prova.!
Obrigada, grande beijo e abraço.

A Q4 é bem simples

import java.util.Scanner; class Q4 { String[] nomes = new String[3]; public static void main(String[] args){ Scanner ler = new Scanner(System.in); Q4 n = new Q4(); n.nomes[0] = ler.nextLine(); n.nomes[1] = ler.nextLine(); n.nomes[2] = ler.nextLine(); System.out.println("\n\n\n"); n.exibirNomes(); } void exibirNomes(){ for(int x=nomes.length-1;x>=0;x--){ System.out.println(nomes[x]); } } }

Affff… vai estudar menina…

kkkkk… Boa Sorte!!!

import java.util.Scanner;

/*
 * 4. [ ] (5 pontos) Criar a classe Q4 conforme as instruções abaixo.
? Declarar um array de String de 3 que receberá nomes.
? Ler do usuário a digitação dos 3 nomes.
? Exibir os 3 nomes digitados em ordem inversa (a partir do último digitado para o primeiro).
? Requisito 1: Utilizar for, do ou while.
 */
public class Q4 {
	
private static Scanner sl = new Scanner(System.in);
	String[] nomes = new String[3];
	
	public static void main(String[] args) {
		Q4 q4 = new Q4();
		for(int i = 0; i < 3; i++){
			q4.nomes[i] = readLineTrim("Entre com seu nome: ");
			
		}
		q4.mostraInverso();
	}
	
	public void mostraInverso(){
		for(int i = 2; i >=0; i--){
			if(i!=0){
				System.out.print(nomes[i]+", ");
			}
			else{
				System.out.print(nomes[i]);
			}
			
		}
	}
	
	public static String readString(String mensagem) {
		return readLineTrim(mensagem);
	}
	
	private static String readLineTrim(String mensagem) {
		System.out.print(mensagem);
		return sl.nextLine().trim();
	}
}
package br.spei.claudemir.pojos;


import java.util.Scanner;


public class Q5{
	
private static Scanner sl = new Scanner(System.in);
	String[] nomes;
	
	public static void main(String[] args) {
		
		Q4 q4 = new Q4();
		int n = Integer.parseInt(readLineTrim("Quantos nomes serão lidos: "));
		
		q4.nomes = new String[n];
		
		for(int i = 0; i < q4.nomes.length; i++){
			q4.nomes[i] = readLineTrim("Entre com seu nome: ");
			
		}
		q4.mostraInverso();
	}
	
	public void mostraInverso(){
		for(int i = nomes.length; i >=0; i--){
			if(i!=0){
				System.out.print(nomes[i]+", ");
			}
			else{
				System.out.print(nomes[i]);
			}
			
		}
	}
	
	public static String readString(String mensagem) {
		return readLineTrim(mensagem);
	}
	
		
	private static String readLineTrim(String mensagem) {
		System.out.print(mensagem);
		return sl.nextLine().trim();
	}
}

[quote=Maniaco]Affff… vai estudar menina…

kkkkk… Boa Sorte!!![/quote]

¬¬
eu to tentando rs :slight_smile:
vlw beijos!