Duvida no código se fiz de maneira certa

2 respostas
N

Esse é um exercício do trabalho qu to fazendo achei o resultado mais nao sei se fiz de maneira correta.
Se puderem me tirar essa duvida agradeço.

Crie uma classe em Java chamada Fatura que seria utilizada por uma loja de ferragens1. Esta classe deverá conter as seguintes características para representá-la: a) Código da peça vendida na ferragem (ex. 55123) b) Descrição da peça (ex. Alicate de Pressão Taurus) c) Quantidade do item comprado (ex. 2) d) Preço por item (ex. R$22,50)

Além das características listadas acima, a classe Fatura deverá respeitar os seguintes requisitos:

a) Construtor default que inicialize todos os atributos numéricos da classe com o valor
0 (zero)
b) Construtor que inicialize todos os atributos da classe passados por parâmetro
c) Criar setters/getters para todos os atributos da classe
d) Criar um método chamado obterValorFatura que calcule o valor final da fatura com
base no seu preço e na quantidade comprada e retorne este cálculo para quem
executou o método
Crie uma classe Teste para instanciar uma Fatura e testar o seu programa. No exemplo acima, ao
executarmos o método

public class Fatura {
	
	private int codigoPÇ;
	private String descriçaoPÇ;
	private int quantidadePÇ;	
	private double preçoItem;
	
	public Fatura(){
		codigoPÇ = 0;
		quantidadePÇ = 0;
		preçoItem = 0;
		
	}
	

	public Fatura (int codigoPÇ, String descriçaoPÇ, int quantidadePÇ, double preçoItem){
		this.codigoPÇ = codigoPÇ;
		this.descriçaoPÇ = descriçaoPÇ;
		this.quantidadePÇ = quantidadePÇ;
		this.preçoItem = preçoItem;
		
	}


	public int getCodigoPÇ() {
		return codigoPÇ;
	}


	public void setCodigoPÇ(int codigoPÇ) {
		this.codigoPÇ = codigoPÇ;
	}


	public String getDescriçaoPÇ() {
		return descriçaoPÇ;
	}


	public void setDescriçaoPÇ(String descriçaoPÇ) {
		this.descriçaoPÇ = descriçaoPÇ;
	}


	public int getQuantidadePÇ() {
		return quantidadePÇ;
	}


	public void setQuantidadePÇ(int quantidadePÇ) {
		this.quantidadePÇ = quantidadePÇ;
	}


	public double getPreçoItem() {
		return preçoItem;
	}


	public void setPreçoItem(double preçoItem) {
		this.preçoItem = preçoItem;
	}

	// Aqui eu nao sei se fiz da maneira certa
	public static double obterValorFatura(Fatura quantidade, Fatura preço) {
		double valor = quantidade.getQuantidadePÇ()*preço.getPreçoItem();
		return valor;
	
	}
	

	
}

Minha principal duvida era como fazer essa parte

"Criar um método chamado obterValorFatura que calcule o valor final da fatura com
base no seu preço e na quantidade comprada e retorne este cálculo para quem
executou o método
Crie uma classe Teste para instanciar uma Fatura e testar o seu programa. No exemplo acima, ao
executarmos o método"

public class Teste {

	public static void main(String[] args) {
		
		Fatura ferragem = new Fatura();
		ferragem.setCodigoPÇ(533);
		ferragem.setDescriçaoPÇ("Pincel Confort Lingua de Gato");
		ferragem.setPreçoItem(11.25);
		ferragem.setQuantidadePÇ(4);
		 
		System.out.println("R$"+Fatura.obterValorFatura(ferragem, ferragem));

2 Respostas

L

Vamos lá:

  • no metodo onde você marcou o comentário tem mais de uma maneira de se fazer:

primeira:

//perceba que nesse metodo eu so preciso de um parametro pois os dois atributos são da mesma instancia da classe Fatura
 public double obterValorFatura(Fatura fatura) {  
        double valor = fatura.getQuantidadePÇ()*fatura.getPreçoItem();  
        return valor;  
      
    }

segunda:

//esse metodo é mais dinâmico e menos redundante 
 public double obterValorFatura() {  
        double valor = getQuantidadePÇ()*getPreçoItem();  
        return valor;  
      
    }

caso você use uma dessas formas na sua classe Teste a chamada do metodo mudara e ficara assim:

System.out.println("R$"+ferragem.obterValorFatura()); 
//ou assim:
 System.out.println("R$"+ferragem.obterValorFatura(ferragem));

porém por motivos lógicos o mais fácil e que representa a orientação a objetos é a segunda opção.
Ps: O metodo não precisa ser ter a palavra chave “static” pois você tem uma instancia da classe inicializada.

-Outra dica é evitar colocar caracteres como ç ~ e outros nos nomes da variáveis é uma boa pratica

fora estes itens o restante está de acordo com o enunciado do exercício.

N

O static eu sei q nao vai depois quando eu estava revisando o codigo que vi que avia colocado ele no metodo kkk
Valeu pela dica dobre as variaveis

Criado 13 de junho de 2015
Ultima resposta 14 de jun. de 2015
Respostas 2
Participantes 2