我正在尝试创建一个零售计算器,它将显示商品的销售价格。用户在一个文本框中输入项目的原始价格,并在另一个框中输入折扣百分比。然后用户点击计算按钮得到答案。我的问题是我无法让程序计算答案,而是收到很多错误消息。我只在几行上看到错误,但我不知道如何修复它们。以下是我的代码:
导入 javax.swing.JOptionPane;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Owner
*/
public class RetailCalcForm extends javax.swing.JFrame {
private void close() {
throw new UnsupportedOperationException("Not yet implemented");
}
private static class number {
public number() {
}
}
private static class number2 {
public number2() {
}
}
/**
* Creates new form RetailCalcForm
*/
public RetailCalcForm() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
itemNameText = new javax.swing.JTextField();
originalPriceText = new javax.swing.JTextField();
percentDiscountedText = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
calculateButton = new javax.swing.JButton();
salesPriceLabel = new javax.swing.JLabel();
exitButton = new javax.swing.JButton();
javax.swing.JComboBox departmentBox = new javax.swing.JComboBox();
jLabel4 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Item Name");
jLabel2.setText("Original Price");
jLabel3.setText("% Discounted");
calculateButton.setText("Calculate Discount Price");
calculateButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
calculateButtonActionPerformed(evt);
}
});
salesPriceLabel.setText("Discounted Sales Price: ");
exitButton.setText("Exit");
exitButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exitButtonActionPerformed(evt);
}
});
departmentBox.setModel(new javax.swing.DefaultComboBoxModel(
new String[] { "Electronics", "Toys", "Clothing", "Housewares",
"Garden" }));
departmentBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
departmentBoxActionPerformed(evt);
}
});
jLabel4.setText("Select Department");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addGap(28, 28, 2Cool
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
jLabel2)
.addComponent(
jLabel1))
.addContainerGap())
.addGroup(
layout.createSequentialGroup()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
salesPriceLabel,
javax.swing.GroupLayout.PREFERRED_SIZE,
310,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(
layout.createSequentialGroup()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
jLabel3)
.addComponent(
jLabel4))
.addGap(26,
26,
26)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
percentDiscountedText,
javax.swing.GroupLayout.PREFERRED_SIZE,
145,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
departmentBox,
javax.swing.GroupLayout.PREFERRED_SIZE,
105,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(
layout.createSequentialGroup()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(
originalPriceText,
javax.swing.GroupLayout.PREFERRED_SIZE,
145,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(
itemNameText,
javax.swing.GroupLayout.PREFERRED_SIZE,
145,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED,
59,
Short.MAX_VALUE)
.addComponent(
calculateButton)))))
.addGap(0, 33,
33))))
.addGroup(
layout.createSequentialGroup().addGap(228, 228, 228)
.addComponent(exitButton)
.addGap(0, 0, Short.MAX_VALUE)));
layout.setVerticalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addGap(69, 69, 69)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(
departmentBox,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addGap(35, 35, 35)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel1)
.addComponent(
itemNameText,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(
originalPriceText,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(26, 26, 26)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(
percentDiscountedText,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(35, 35, 35)
.addComponent(salesPriceLabel)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED,
44, Short.MAX_VALUE)
.addComponent(exitButton).addGap(26, 26, 26))
.addGroup(
layout.createSequentialGroup()
.addGap(140, 140, 140)
.addComponent(calculateButton,
javax.swing.GroupLayout.PREFERRED_SIZE,
87,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap()));
pack();
}// </editor-fold>
private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {
int number1 = 0, number2 = 0;
try (
int = Integer.parseInt(
this.originalPriceText.getText());
catch (Excemption e) {
JOptionPane.showMessageDialog(this, "Invalid Price Amount", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
try (
int = Integer.parseInt(
this.percentDiscountedText.getText());
catch (Excemption e) {
JOptionPane.showMessageDialog(this, "Invalid Discount Amount", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
int answer = number1 / number2;
this.salesPriceLabel.setText("Discounted Sales Price: " / answer);
}
private void departmentBoxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
close();
}
/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
// <editor-fold defaultstate="collapsed"
// desc=" Look and feel setting code (optional) ">
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase
* /tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager
.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(RetailCalcForm.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(RetailCalcForm.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(RetailCalcForm.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(RetailCalcForm.class.getName())
.log(java.util.logging.Level.SEVERE, null, ex);
}
// </editor-fold>
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new RetailCalcForm().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton calculateButton;
private javax.swing.JButton exitButton;
private javax.swing.JTextField itemNameText;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JTextField originalPriceText;
private javax.swing.JTextField percentDiscountedText;
private javax.swing.JLabel salesPriceLabel;
// End of variables declaration
}
我能得到的任何帮助将不胜感激。