question

Voce pode ajudar com a calculadora de hipoteca em Java?

Aqui é minha atribuição? Escrever o programa em Java (com uma interface gráfica do usuário) e tenho calcular e exibir a quantidade de pagamento de hipoteca da entrada do usuário do montante da hipoteca, o prazo da hipoteca e a taxa de juros da hipoteca. Permitir que o usuário volta de loop e inserir novos dados ou sair. Inserir comentários no programa para documentar o programa.

Eu ainda estou recebendo erros! (veja abaixo) :-(


pacote MortCalc2.java;

/

@author alesiab
/
//Declaration de classe
public class MortCalc2 {


/
@param args os argumentos de linha de comando
/
public static void main (String [] args) {
/ / TODO código de lógica de aplicativo aqui
}

}
//Declaration de classe
/
@param args os argumentos de linha de comando
/

/ / Declaração de etiquetas
importar JPanel linha1 = new JPanel (new GridLayout (1, 3));
importar JLabel principal_label1 = new JLabel ("valor líquido $:", JLabel.LEFT);//Sets rótulo de texto e alinhamento
JTextField principal_txt = novo JTextField(10);
JPanel row2 = new JPanel (new GridLayout (1, 3));
JLabel term_label2 = new JLabel ("prazo de anos:", JLabel.LEFT);
JTextField term_txt = novo JTextField(10);
JPanel row3 = new JPanel (new GridLayout (1, 3));
JLabel rate_label3 = new JLabel ("taxa de juros %:", JLabel.LEFT);
JTextField rate_txt = novo JTextField(10);
JPanel row4 = new JPanel (new GridLayout (1, 3));
JLabel pay_label4 = new JLabel ("pagamento mensal $:", JLabel.LEFT);
JTextField pay_txt = novo JTextField(10);
JPanel botão = new JPanel (novo FlowLayout(FlowLayout.CENTER));

//Declaration de botões e texto mostrado neles
JButton rstButton = new JButton("Reset");
JButton extButton = new JButton("Exit");
JButton calcButton = new JButton("Calculate");

//Declaration de área exibir a entrada do usuário
JTextArea displayArea = new JTextArea (10, 45);

/ / Declaração de formatos que será saída após cálculo
DecimalFormat twodigits = novo DecimalFormat("#,###.00");

//Declaration de variáveis
taxa dupla = 0; taxa de //Sets como um duplo definido como zero
mpay duplo = 0; //Sets pagamento mensal como um duplo definido como zero
principal dupla = 0; //Sets principal como um duplo definido como zero
termo de int = 0; //Sets interesse como um inteiro definido como zero
duplo interesse = 0; //Sets interesse como um duplo definido como zero

//Declaration do Construtor
público MortCalc2() {

Super ("calculadora de hipoteca: SR-mf-003 #4"); //Syntax usado para a chamada do Construtor
setSize (400, 200); tamanho de //sets do Construtor
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); //clears todas as Informação e fecha a janela
Painel do recipiente = getContentPane (); //returns o valor para o conteúdo
Fronteira bdr = new EmptyBorder (2, 5, 2, 5); //provides fronteiras para rótulo

//Declaration do windows que irá realizar a entrada de usuários

pane.Add(Row1);
Row1.Add(principal_label1);
Row1.Add(principal_txt);
Row1.setMaximumSize (nova dimensão (300, 25));
Row1.SetBorder(BDR);

pane.Add(Row2);
Row2.Add(term_label2);
Row2.Add(term_txt);
Row2.setMaximumSize (nova dimensão (300, row2.getMinimumSize().height));
Row2.SetBorder(BDR);

pane.Add(row3);
row3.Add(rate_label3);
row3.Add(rate_txt);
row3.setMaximumSize (nova dimensão (300, row3.getMinimumSize().height));
row3.SetBorder(BDR);

pane.Add(row4);
row4.Add(pay_label4);
row4.Add(pay_txt);
row4.setMaximumSize (nova dimensão (300, row4.getMinimumSize().height));
row4.SetBorder(BDR);

Button.Add(calcButton);
Button.Add(rstButton);
Button.Add(extButton);
pane.Add(Button);

pane.setLayout "BoxLayout (novo" (painel, BoxLayout.Y_AXIS));
setVisible(true);
setContentPane(pane);

button.setMaximumSize (nova dimensão (10000, button.getMinimumSize().height));

Ouvinte de ação especificada //ADDS para obter os eventos de ação de botões
rstButton.addActionListener(this);
extButton.addActionListener(this);
calcButton.addActionListener(this);
}
//Declaration de ações de cálculo, a ter lugar

public void actionPerformed (ActionEvent event) {

Fonte objeto = event.getSource();
Função se"//Begin"
se (origem = = calcButton) / / calcula em hit
{
validateUserInput (principal_txt, rate_txt, term_txt); / / valida a entrada do

//Formula para saída de cálculo
MPAY = principal (taxa / (12 100)) / (1 - Math. pow (1 + (taxa / (12 100)), -1 (termo 12)));
pay_txt.SetText ("" + twodigits.format(mpay));
}

se (origem = = rstButton) / / limpa em hit
{
term_txt.SetText("");
rate_txt.SetText("");
principal_txt.SetText("");
pay_txt.SetText("");
displayArea.setText("");
}

se (origem = = extButton) / / sair hit
{

System.Exit(0);
}

} //end ação

//Declaration do método principal
{public static void main (argumentos de seqüência de caracteres [])
MortCalc2 mtg = MortCalc2() novo;

}
//Declaration de entrada do usuário para cada variável

público void validateUserInput (JTextField principal_txt, rate_txt JTextField, JTextField term_txt) {
Função //Begin "try/catch"
Tente {

principal = Double.parseDouble(principal_txt.getText());

} catch (NumberFormatException e) //Action ouvinte
{
/
resposta Resposta
Houve-se muito mal com isso. Você tinha duplicados principais métodos, você tentou importar ao fazer uma declaração de variável (o que seria um recurso útil, eu suponho, mas é inválido em Java) e esqueci de estender o JFrame classe e implementar ActionListener. Fixei-me estas e algumas outras questões para que ele iria compilar. Ficando a lógica de trabalhar é com você embora.



/ @author alesiab

/

java.awt. de importação;

ActionEvent de importação;

DataInput de importação;

import java.text.DecimalFormat;

javax.swing. de importação;

javax.swing.border.Border de importação;

javax.swing.border.EmptyBorder de importação;

//Declaration de classe

public class que mortcalc2 extends JFrame implementa ActionListener {

/ / Declaração de etiquetas

JPanel linha1 = new JPanel (new GridLayout (1, 3));

JLabel principal_label1 = new JLabel ("valor líquido $:", JLabel.LEFT) ;// moda rótulo texto e alinhamento

JTextField principal_txt = new JTextField (10);

JPanel row2 = new JPanel (new GridLayout (1, 3));

JLabel term_label2 = new JLabel ("termo anos:", JLabel.LEFT);

JTextField term_txt = new JTextField (10);

JPanel row3 = new JPanel (new GridLayout (1, 3));

JLabel rate_label3 = new JLabel ("taxa de juros %:", JLabel.LEFT);

JTextField rate_txt = new JTextField (10);

JPanel row4 = new JPanel (new GridLayout (1, 3));

JLabel pay_label4 = new JLabel ("$ de pagamento mensal:", JLabel.LEFT);

JTextField pay_txt = new JTextField (10);

JPanel botão = new JPanel (new FlowLayout (FlowLayout.CENTER));

/ / Declaração de botões e texto mostrado neles

JButton rstButton = new JButton ("Reset");

JButton extButton = new JButton ("sair");

JButton calcButton = new JButton ("calcular");

/ / Declaração de área exibir usuário entrada

JTextArea displayArea = new JTextArea (10, 45);

/ / Declaração de formatos que será saída após cálculo

DecimalFormat twodigits = new DecimalFormat ("#, # # #. 00");

/ / Declaração de variáveis

taxa dupla = 0; / / define a taxa como um duplo para zero

mpay duplo = 0; / / pagamento mensal de moda como um duplo para zero

principal dupla = 0; / / define principal como um duplo definido como zero

termo de int = 0; / / interesse de moda como um inteiro para zero

duplo interesse = 0; / / interesse de moda como um duplo para zero

/ / Declaração do Construtor

público MortCalc2() {

Super ("calculadora de hipoteca: SR-mf-003 #4") ;// a sintaxe usada para a chamada do Construtor

setSize (400, 200) ;// define o tamanho do Construtor

setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

Painel do recipiente = getContentPane(); / / retorna o valor para o conteúdo

Fronteira bdr = new EmptyBorder (2, 5, 2, 5) ;// fornece as fronteiras para a etiqueta

/ / Declaração de windows que conterá usuários entrada

pane.Add (linha1);

Row1.Add (principal_label1);

Row1.Add (principal_txt);

Row1.setMaximumSize (nova dimensão (300, 25));

Row1.SetBorder (bdr);

pane.Add (row2);

Row2.Add (term_label2);

Row2.Add (term_txt);

Row2.setMaximumSize (nova dimensão (300, .height de row2.getMinimumSize ()));

Row2.SetBorder (bdr);

pane.Add (row3);

row3.Add (rate_label3);

row3.Add (rate_txt);

row3.setMaximumSize (nova dimensão (300, .height de row3.getMinimumSize ()));

row3.SetBorder (bdr);

pane.Add (row4);

row4.Add (pay_label4);

row4.Add (pay_txt);

row4.setMaximumSize (nova dimensão (300, .height de row4.getMinimumSize ()));

row4.SetBorder (bdr);

Button.Add (calcButton);

Button.Add (rstButton);

Button.Add (extButton);

pane.Add (botão);

pane.setLayout "BoxLayout (novo" (painel, BoxLayout.Y_AXIS));

setVisible (true);

setContentPane (painel);

button.setMaximumSize (nova dimensão (10000, .height de button.getMinimumSize ()));

/ / Adiciona o ouvinte de ação especificada para obter ação eventos de botões

rstButton.addActionListener (este);

extButton.addActionListener (este);

calcButton.addActionListener (este);

}

/ / Declaração de ações de cálculo, a ter lugar

public void actionPerformed (ActionEvent event) {

Fonte objeto = event.getSource();

/ / Começar a função "se"

se (origem = = calcButton) / / calcula em hit

{

validateUserInput (principal_txt, rate_txt, term_txt); / / valida a entrada do

/ / fórmula para saída de cálculo

MPAY = principal (taxa / (12 100)) / (1 - Math. pow (1 + (taxa / (12 100)), -1 (termo 12)));

pay_txt.SetText ("" + twodigits.format (mpay));

}

se (origem = = rstButton) / / limpa em hit

{

term_txt.SetText ("");

rate_txt.SetText ("");

principal_txt.SetText ("");

pay_txt.SetText ("");

displayArea.setText ("");

}

se (origem = = extButton) / / sair hit

{

System.Exit (0);

}

} / / fim da acção

/ / Declaração do método principal

{public static void main (argumentos de seqüência de caracteres [])

MortCalc2 mtg = MortCalc2() novo;

}

/ / Declaração de usuário entrada para cada variável

público void validateUserInput (JTextField principal_txt, rate_txt JTextField, JTextField term_txt) {

/ / Começar "try/catch" função

Tente {

principal = ParseDouble (principal_txt.getText());

} catch (NumberFormatException e) / / ouvinte de ação

{

}

}

}

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved