Duvida com Método

1 resposta
J

Bom dia a todos! Gostaria de saber por quê apos colocar os valores de “cor” e “ML”, o meu programa não está executando os calculos devidos, e nem mesmo imprimindo na tela os valores devidos.

Abaixo segue o código da interface :

package modelo.inter;
public interface IPincel {
    double adicionaTinta(double ml);
    String corTintaInserida(String cor);
    double espacoOcupado(double ml);
    double espacoDisponivel(double ml);
    String estadoPincel(double porc);
}

Abaixo, o codigo da classe :

package modelo;
import javax.swing.JOptionPane;
import modelo.inter.IPincel;
public class Pincel implements IPincel {
    private String cor;
    private double ml;
    private int quantidadeMinima;
    private int quantidadeMaxima;
    private String estado;

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public int getQuantidadeMinima() {
        return quantidadeMinima;
    }

    public void setQuantidadeMinima(int quantidadeMinima) {
        this.quantidadeMinima = quantidadeMinima;
    }

    public int getQuantidadeMaxima() {
        return quantidadeMaxima;
    }

    public void setQuantidadeMaxima(int quantidadeMaxima) {
        this.quantidadeMaxima = quantidadeMaxima;
    }

    public double getMl() {
        return ml;
    }

    public void setMl(double ml) {
        this.ml = ml;
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }
    
        @Override
    public double adicionaTinta(double ml) {
            double eml = 0;
            JOptionPane.showInputDialog("Digite a quantidade de ml a ser inserida :");
            if ( this.ml + this.quantidadeMinima > this.quantidadeMaxima) {
                JOptionPane.showInputDialog("quantidade nao suportada !");
            }
            return eml;
    }

    @Override
    public String corTintaInserida(String cor) {
        JOptionPane.showInputDialog("Digite a cor a ser inserida : ");
        return this.getCor();
    }
    @Override
    public double espacoOcupado(double ml) {
        double porc = 0;
        porc = (this.ml + this.quantidadeMinima) + this.quantidadeMaxima / 100;
        return porc;
    }

    @Override
    public double espacoDisponivel(double ml) {
        double porcd = 0;
        porcd = (this.ml - this.quantidadeMaxima) + this.quantidadeMinima / 100;
        return porcd;
    }

    @Override
    public String estadoPincel(double porc) {
        String estado = "";
        if(porc == 0) {
            estado = "Vazio" ;
        }
        if(porc > 1 && porc <= 49) {
            estado = "Menos da metade";
        }
        if(porc == 50) {
            estado = "Metade";
        }
        if(porc > 51 && porc <= 99) {
            estado = "Mais da metade";
        }
        if(porc == 100) {
            estado = "Cheio";
        }
        return estado;
    }
    
    @Override
    public String toString() {
        String str = super.toString();
        str += String.format("\nCor : "
                + " \nQuantidade inserida : "
                + " \nQuantidade minima : "
                + "\nQuantidade maxima :  "
                + "\nEspaco ocupado :  \nEspaco disponivel :  \nEstado : "+
                this.corTintaInserida(cor), this.adicionaTinta(ml), this.quantidadeMinima, this.quantidadeMaxima, this.espacoOcupado(ml),
                this.espacoDisponivel(ml), this.estadoPincel(ml));
        return str;
    }
    
}

Abaixo , o codigo da classe principal :

package main;
import javax.swing.JOptionPane;
import modelo.Pincel;
public class PrincipalPincel extends Pincel {
    public static void main(String[] args) {
           Pincel pincell = new Pincel();
           JOptionPane.showMessageDialog(null,pincell.toString());
           
    }
}

1 Resposta

delki8

Cara, eu não conheço nada de JOptionPane, mas o showInputDialog não deveria retornar alguma coisa para alguma variável sua? Por exemplo:

@Override  
    public String corTintaInserida(String cor) {  
        JOptionPane.showInputDialog("Digite a cor a ser inserida : ");  
        return this.getCor();  
    }

não deveria ser:

@Override  
    public String corTintaInserida() {  
        this.setCor(JOptionPane.showInputDialog("Digite a cor a ser inserida : "));  
        return this.getCor();  
    }

?

Criado 1 de maio de 2013
Ultima resposta 2 de mai. de 2013
Respostas 1
Participantes 2