Ir ao conteúdo
  • Cadastre-se

Java JOptionPane duas classes


nigolino

Posts recomendados

//PROGRAMA PRINCIPAL
import javax.swing.JOptionPane;
import java.util.Locale;
import java.util.Scanner;
import entities.AccountSGC;
public class Main {

    public static void main(String[] args) throws NumberFormatException {
        Scanner sc = new Scanner(System.in);
        Locale.setDefault(Locale.US);
        AccountSGC account;
        
        int liqPst = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor líquido da Pens: "));
        
        int cotaBruta = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da cota pens bruta: "));
        int somaConsig = Integer.parseInt(JOptionPane.showInputDialog("Informe a Soma Consig tipo Empréstimo N em Andam: "));
        float margBruPres = (cotaBruta * 0.30F);
       
        if(liqPst > 0.00F){
          account.margem(margemValue);
          account = new AccountSGC(liqPst);
          JOptionPane.showMessageDialog(null,"Margem Consignável: "+margemConsig,"margemConsig",JOptionPane.INFORMATION_MESSAGE);
        }else{ 
          JOptionPane.showMessageDialog(null,"Valor líquido NEGATIVO: "+liqPst,"liqPst",JOptionPane.INFORMATION_MESSAGE);
        }
 	    sc.close();
    }
}
//PROGRAMA SECUNDÁRIO
package entities;

public class AccountSGC{
  private float liqPst;
  private float cotaBruta;
  private float margemConsig;
  
  //
  public AccountSGC(float liqPst, float cotaBruta){
    this.liqPst = liqPst;
    this.cotaBruta = cotaBruta;
  }
  
  public float getliqPst(){
    return liqPst;
  }  

  public float setliqPst(){
    this.liqPst = liqPst;
  }

  public double getmargemConsig(){
    return margemConsig;
  }
   
  public void Margem(double cotaBruta){
    margemConsig = ((liqPst + somaConsig) - margBruPres)*1.00F;
  }
}

Pessoal, crie uma calculadora que funciona com apenas uma classe, quando tento fazer com duas classes (construtores)não funciona...se possível alguém tenta rodar e dar umas dicas..

Link para o comentário
Compartilhar em outros sites

Não sei se está retornando o valor correto, mas o código não tem mais erros.

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) throws NumberFormatException {
        int liqPst = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor líquido da Pens: "));
        int cotaBruta = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da cota pens bruta: "));
        int somaConsig = Integer.parseInt(JOptionPane.showInputDialog("Informe a Soma Consig tipo Empréstimo N em Andam: "));

        double margBruPres = (cotaBruta * 0.30);
        
        if (liqPst > 0) {
            AccountSGC account = new AccountSGC(liqPst, cotaBruta);
            account.setMargemConsig(somaConsig, margBruPres);
            JOptionPane.showMessageDialog(null, "Margem Consignável: " + account.getMargemConsig(), "margemConsig", JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "Valor líquido NEGATIVO: " + liqPst, "liqPst", JOptionPane.INFORMATION_MESSAGE);
        }
    }

    private static class AccountSGC {
        private double liqPst;
        private double cotaBruta;
        private double margemConsig;

        public AccountSGC(float liqPst, float cotaBruta) {
            this.liqPst = liqPst;
            this.cotaBruta = cotaBruta;
        }

        public double getLiqPst() {
            return liqPst;
        }

        public void setLiqPst(float liqPst) {
            this.liqPst = liqPst;
        }

        public double getCotaBruta() {
            return cotaBruta;
        }

        public void setCotaBruta(float cotaBruta) {
            this.cotaBruta = cotaBruta;
        }

        public double getMargemConsig() {
            return margemConsig;
        }

        public void setMargemConsig(int somaConsig, double margBruPres) {
            margemConsig = (liqPst + somaConsig - margBruPres) * 1.00;
        }
    }
}

 

Link para o comentário
Compartilhar em outros sites

@AdrianoSiqueira Ficou muito bom, está retornando o valor correto. Eu esqueci de passar para a outra classe o cálculo: double margBruPres = (cotaBruta * 0.30); como faço para passar para a classe AccountSGC? Mais um detalhe, o programa não está aceitando o separador ponto ou vírgula, é possível de usar o padrão do Brasil e não o Americano? Desde já agradeço a resposta!

Link para o comentário
Compartilhar em outros sites

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) throws NumberFormatException {
        double liqPst = Double.parseDouble(JOptionPane.showInputDialog("Informe o valor líquido da Pens: "));
        double cotaBruta = Double.parseDouble(JOptionPane.showInputDialog("Informe o valor da cota pens bruta: "));
        double somaConsig = Double.parseDouble(JOptionPane.showInputDialog("Informe a Soma Consig tipo Empréstimo N em Andam: "));
        double margBruPres = (cotaBruta * 0.30);

        if (liqPst > 0) {
            AccountSGC account = new AccountSGC(liqPst, cotaBruta, somaConsig, margBruPres);
            account.calcularMargemConsig();
            JOptionPane.showMessageDialog(null, "Margem Consignável: " + account.getMargemConsig(), "margemConsig", JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "Valor líquido NEGATIVO: " + liqPst, "liqPst", JOptionPane.INFORMATION_MESSAGE);
        }
    }

    private static class AccountSGC {
        private double liqPst;
        private double cotaBruta;
        private double somaConsig;
        private double margBruPres;
        private double margemConsig;

        public AccountSGC(double liqPst, double cotaBruta, double somaConsig, double margBruPres) {
            this.liqPst = liqPst;
            this.cotaBruta = cotaBruta;
            this.somaConsig = somaConsig;
            this.margBruPres = margBruPres;
        }

        public double getLiqPst() {
            return liqPst;
        }

        public void setLiqPst(double liqPst) {
            this.liqPst = liqPst;
        }

        public double getCotaBruta() {
            return cotaBruta;
        }

        public void setCotaBruta(double cotaBruta) {
            this.cotaBruta = cotaBruta;
        }

        public double getSomaConsig() {
            return somaConsig;
        }

        public void setSomaConsig(double somaConsig) {
            this.somaConsig = somaConsig;
        }

        public double getMargBruPres() {
            return margBruPres;
        }

        public void setMargBruPres(double margBruPres) {
            this.margBruPres = margBruPres;
        }

        public double getMargemConsig() {
            return margemConsig;
        }

        public void calcularMargemConsig() {
            margemConsig = (liqPst + somaConsig - margBruPres) * 1.00;
        }
    }
}

 

adicionado 1 minuto depois

Para aceitar vírgula, você tem que receber os dados em forma de string e fazer os devidos tratamentos para substituir a vírgula por ponto.

adicionado 1 minuto depois

Depois disso, você converte para double.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...