Soma de variaveis de instancia

3 respostas
kamuiorg

Ola galera, se você poderem me ajudar ficaria grato.
Fiz uma classe para que as variaveis de intancia recabam valores, e outra variavel receba a soma desse valores
o que acontece quem ela não ta recebendo a soma. To mandando o codigo. caso vc possam me ajudar fico grato ^^.

package Tool;
/**
 * @author K4MU1
 */
public class Computador {

    private double processador;
    private double memoriaRam;
    private double discoRigido;
    private double tamanhoMonitor;
    private double placaMae;
    private double precoTotal;

    public void setPlacaMae()
    {
        placaMae = 800.00;
    }

    public double getPlacaMae()
    {
        return placaMae;
    }

    public void setProcessador(double processador)
    {
        if (processador == 600)
          this.processador = 700.00;
        else
            if(processador == 800)
                this.processador = 830.00;
            else
                if (processador == 933)
                    this.processador = 910.00;
                else
                    this.processador = 0.0;
    }

    public double getProcessador()
    {
        return processador;
    }

    public void setMemoriaRam(double memoriaRam)
    {
        if (memoriaRam == 128)
           this.memoriaRam = 350.00;
        else
            if (memoriaRam == 256)
                this.memoriaRam = 700.00;
            else
                if (memoriaRam == 384)
                    this.memoriaRam = 1050.00;
                else
                    if(memoriaRam == 512)
                        this.memoriaRam = 1400.00;
                    else
                        this.memoriaRam = 0.0;
    }

    public double getMemoriaRam()
    {
        return memoriaRam;
    }

    public void setDiscoRigido(double discoRigido)
    {
        if (discoRigido == 20)
          this.discoRigido = 300.00;
        else
            if (discoRigido == 40)
                this.discoRigido = 420.00;
            else
                if (discoRigido == 60)
                    this.discoRigido = 500.00;
                else
                    this.discoRigido = 0.0;
    }

    public double getDiscoRigido()
    {
        return discoRigido;
    }

    public void setTamanhoMonitor(double tamanhoMonitor)
    {
        if (tamanhoMonitor == 15)
          this.tamanhoMonitor = 320.00;
        else
            if (tamanhoMonitor == 17)
              this.tamanhoMonitor = 520.00;
            else
                this.tamanhoMonitor = 0.0;
    }

    public double getTamanhoMonitor()
    {
        return tamanhoMonitor;
    }

    public void calcularPreco()
    {
        double soma;
        soma = placaMae + discoRigido + memoriaRam + processador + 
                tamanhoMonitor;
        precoTotal = soma;
    }

    public double getCalcularPreco()
    {
        return precoTotal;
    }

    public void orcamentoTotal()
    {
        System.out.println("Preço da placa mâe: " + getPlacaMae());
        System.out.println("Preço do processador: " + getProcessador());
        System.out.println("Preço do Disco Rigido: " + getDiscoRigido());
        System.out.println("Preço da Memória Ram: " + getMemoriaRam());
        System.out.println("Preço da Monitor: " + getTamanhoMonitor());
        System.out.println("Preço Total: " + getCalcularPreco());
    }

}

3 Respostas

S

Acho que tá tudo certo, o que tá faltando é usar seu método calcularPreco antes do getCalcularPreco

airan

Dois métodos pra que?

Que tal:

public double calcularPreco()  {
         double soma;  
         soma = placaMae + discoRigido + memoriaRam + processador +   
                 tamanhoMonitor;  
         precoTotal = soma;  
         return soma;
}
J

Cara, entendi o que tu queres fazer... mas tá meio confuso teu código.. vou te passar umas dicas que acho válido e espero poder te ajudar...

Na verdade qdo tu vais calcular o orçamentoTotal tuas variáveis de instancia estão zeradas ainda.. para isso utiliza teus setters na classe que está instanciando teus objetos, tipo:

package br.jvier.learning.basics;

public class TestaComputadorGUJ {

	public static void main(String args[]){
		
		ComputadorGUJ pc = new ComputadorGUJ();
		
		pc.setPlacaMae(800.00); //vai setando os objetos
		pc.setDiscoRigido(60.00);
		pc.setMemoriaRam(256);
		pc.setProcessador(600);
		pc.setTamanhoMonitor(15);
		pc.calcularPreco();// calcula o preço antes de passar o orçamento total 
		pc.orcamentoTotal(); // exibe o orçamento das peças
		
	}
	
}
depois dentro da classe ComputadorGUJ tambem tem algumas alteraçoes possíveis:
public class ComputadorGUJ {

	private double processador;  
	private double memoriaRam;  
	private double discoRigido;  
	private double tamanhoMonitor;  
	private double placaMae;  
	private double precoTotal;  
		
	public void setPlacaMae(double preço){  
		placaMae = preço;  
	}  
   
	public double getPlacaMae(){  
		return placaMae;  
	}  
		   
	public void setProcessador(double processador){
		if (processador == 600)  
			this.processador = 700.00;  
			else if(processador == 800)  
				this.processador = 830.00;  
			else if (processador == 933)  
				this.processador = 910.00;  
			else  
				this.processador = 0.0;  
	}  
		   
	public double getProcessador(){ 
		return processador;  
	}  

	public void setMemoriaRam(double memoriaRam){
		if (memoriaRam == 128)  
			this.memoriaRam = 350.00;  
		else if (memoriaRam == 256)  
			this.memoriaRam = 700.00;  
		else if (memoriaRam == 384)  
			this.memoriaRam = 1050.00;  
		else if(memoriaRam == 512)  
			this.memoriaRam = 1400.00;  
		else this.memoriaRam = 0.0;  
	}  
	   
	public double getMemoriaRam(){  
		return memoriaRam;  
	}  
	
	public void setDiscoRigido(double discoRigido){
		if (discoRigido == 20)  
			this.discoRigido = 300.00;  
		else if (discoRigido == 40)  
			this.discoRigido = 420.00;  
		else if (discoRigido == 60)  
			this.discoRigido = 500.00;  
		else this.discoRigido = 0.0;  
	}  
	
	public double getDiscoRigido(){  
		return discoRigido;  
	}  
	
	public void setTamanhoMonitor(double tamanhoMonitor){
		if (tamanhoMonitor == 15)  
			this.tamanhoMonitor = 320.00;  
		else if (tamanhoMonitor == 17)  
			this.tamanhoMonitor = 520.00;  
		else this.tamanhoMonitor = 0.0;  
	}  
	
	public double getTamanhoMonitor(){  
		return tamanhoMonitor;  
	}  

	public void calcularPreco(){  
		double soma;
		soma = placaMae + discoRigido + memoriaRam +    
				processador + tamanhoMonitor;  
			precoTotal = soma;  
	}  
		  
	public double getPreçoTotal(){ //alterei o nome, pois estás retornando o preço total 
		return precoTotal;
	}  
		
	public void orcamentoTotal(){
		
		System.out.println("Preço da placa mâe: " + getPlacaMae());  
		System.out.println("Preço do processador: " + getProcessador());  
		System.out.println("Preço do Disco Rigido: " + getDiscoRigido());  
		System.out.println("Preço da Memória Ram: " + getMemoriaRam());  
		System.out.println("Preço da Monitor: " + getTamanhoMonitor());  
		System.out.println("Preço Total: " + getPreçoTotal());  
	
	}  
}

não sei se é bem isso, mas tens que ir pegando esses esquemas de organização de código.. em projetos maiores a probabilidade de te perder é maior ainda..

feito, abraço!

Criado 14 de março de 2009
Ultima resposta 14 de mar. de 2009
Respostas 3
Participantes 4