-2

I need to declare pct in the below code that I have used and gotten error from netbeans:

pct d = Percent.parsepct(discountpercentTextField.getText());

What would be the exact code for declaring pct? Also, where do i declare this? At the beginning?

Here is the complete code file:

      /*
       * To change this template, choose Tools | Templates
       * and open the template in the editor.
       */

       package murach.forms;
import murach.business.InvoiceCalculations;
 import java.text.NumberFormat;


/**
 *
 * @author james
 */
 public class InvoiceForm extends javax.swing.JFrame {

/**
 * Creates new form InvoiceForm
 */
public InvoiceForm() {
    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() {

    messageLabe1 = new javax.swing.JLabel();
    messageLabe2 = new javax.swing.JLabel();
    messageLabe3 = new javax.swing.JLabel();
    messageLabe4 = new javax.swing.JLabel();
    messageLabe5 = new javax.swing.JLabel();
    customertypeTextField = new javax.swing.JTextField();
    subtotalTextField = new javax.swing.JTextField();
    discountpercentTextField = new javax.swing.JTextField();
    discountamountTextField = new javax.swing.JTextField();
    totalTextField = new javax.swing.JTextField();
    calculateButton = new javax.swing.JButton();
    exitButton = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Invoice Total Calculator");

    messageLabe1.setText("Customer Type:");

    messageLabe2.setText("Subtotal:");

    messageLabe3.setText("Discount Percent:");

    messageLabe4.setText("Discount Amount:");

    messageLabe5.setText("Total:");

    customertypeTextField.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            customertypeTextFieldActionPerformed(evt);
        }
    });

    subtotalTextField.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            subtotalTextFieldActionPerformed(evt);
        }
    });

    discountpercentTextField.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            discountpercentTextFieldActionPerformed(evt);
        }
    });

    calculateButton.setMnemonic('c');
    calculateButton.setText("Calculate");
    calculateButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            calculateButtonActionPerformed(evt);
        }
    });

    exitButton.setMnemonic('x');
    exitButton.setText("Exit");
    exitButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            exitButtonActionPerformed(evt);
        }
    });

    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
        .add(layout.createSequentialGroup()
            .add(38, 38, 38)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(messageLabe1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 100, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(messageLabe2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 100, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(messageLabe3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 126, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(messageLabe4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 137, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(messageLabe5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 100, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(totalTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)
                    .add(discountamountTextField))
                .add(org.jdesktop.layout.GroupLayout.TRAILING, discountpercentTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 144, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(customertypeTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 40, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(subtotalTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 144, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
            .addContainerGap(74, Short.MAX_VALUE))
        .add(layout.createSequentialGroup()
            .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .add(calculateButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 124, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
            .add(exitButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 77, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
            .add(43, 43, 43))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
        .add(layout.createSequentialGroup()
            .add(31, 31, 31)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                .add(messageLabe1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(customertypeTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                .add(messageLabe2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(subtotalTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
            .add(6, 6, 6)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                .add(messageLabe3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(discountpercentTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
            .add(6, 6, 6)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                .add(messageLabe4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(discountamountTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
            .add(6, 6, 6)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                .add(messageLabe5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(totalTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
            .add(18, 18, 18)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                .add(exitButton)
                .add(calculateButton))
            .addContainerGap(58, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        

private void customertypeTextFieldActionPerformed(java.awt.event.ActionEvent evt) {                                                      
    // TODO add your handling code here:

}                                                     

private void subtotalTextFieldActionPerformed(java.awt.event.ActionEvent evt) {                                                  
    // TODO add your handling code here:

}                                                 

private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
       // TODO add your handling code here:
    System.exit(0);


}                                          
private boolean isValidData ()
{
    SwingValidator sv= new SwingValidator();
    return
      sv.isPresent(customertypeTextField, "Customer Type")&&
      sv.isPresent(subtotalTextField, "Subtotal")&&
      sv.isDouble(subtotalTextField, "Subtotal");      
}        


private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                
      // TODO add your handling code here:
   double c = Double.parseDouble(customertypeTextField.getText());
   double s = Double.parseDouble(subtotalTextField.getText());
   pct d = Percent.parsepct(discountpercentTextField.getText());
   double a = Double.parseDouble(discountamountTextField.getText());
   double total = InvoiceCalculations.calculateTotal(c, s, d);
   NumberFormat currency = NumberFormat.getCurrencyInstance();
   totalTextField.setText(currency.format(total));
}                                               

private void discountpercentTextFieldActionPerformed(java.awt.event.ActionEvent evt) {                                                         
    // TODO add your handling code here:

}                                                        

/**
 * @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(InvoiceForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(InvoiceForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(InvoiceForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(InvoiceForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            InvoiceForm frame  =new InvoiceForm();
            frame.setVisible (true);
            frame.setLocationRelativeTo(null);
        }
    });
}
// Variables declaration - do not modify                     
private javax.swing.JButton calculateButton;
private javax.swing.JTextField customertypeTextField;
private javax.swing.JTextField discountamountTextField;
private javax.swing.JTextField discountpercentTextField;
private javax.swing.JButton exitButton;
private javax.swing.JLabel messageLabe1;
private javax.swing.JLabel messageLabe2;
private javax.swing.JLabel messageLabe3;
private javax.swing.JLabel messageLabe4;
private javax.swing.JLabel messageLabe5;
private javax.swing.JTextField subtotalTextField;
private javax.swing.JTextField totalTextField;
// End of variables declaration                   
 }
James Will
  • 15
  • 4

3 Answers3

1

There is not enough information to give a definite answer, but it looks like parsepct is a factory method of the Percent class. If that is true, then the problem is that you're not using the correct type for the variable declaration. Correct would be:

Percent d = Percent.parsepct(discountpercentTextField.getText());

This declares a variable named d which has the type Percent, and immediately assigns it a value returned by the factory method.

Michael Borgwardt
  • 342,105
  • 78
  • 482
  • 720
1

I would assume you want to do this instead:

Percent pct = Percent.parsepct(discountpercentTextField.getText());

But I would seriously recommend you to take a little java crash course.

Wolph
  • 78,177
  • 11
  • 137
  • 148
0

If you want to declare a variable of some primitive type then you might like to check this tutorial to understand how to declare variables inside a class..

*NOTE: - pct is not a valid primitive type.. So, compiler cannot understand it..

If you are declaring a reference for some class.. Then you actually need to have some class defined with the name Percent..

EDIT : -

After seeing your code, it looks like you're actually using some other type that is not known to compiler.. You should have a class defined with the name pct, to tell compiler that this is what I'm creating..

   double s = Double.parseDouble(subtotalTextField.getText());
   pct d = Percent.parsepct(discountpercentTextField.getText());

Just like parseDouble is a static method in Double class returning a type of double, you need to have a Percent class with a static method parsepct(), which would return a type of something you have declared as pct.. (I think that should be Percent).

Rohit Jain
  • 209,639
  • 45
  • 409
  • 525