File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes how to solve the error? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "how to solve the error?" Watch "how to solve the error?" New topic
Author

how to solve the error?

Viji be
Greenhorn

Joined: Aug 16, 2004
Posts: 23
Hello All

How to solve the error in this program...
Iam getting an error in d=md.Operations();

Iam just trying to get two numbers from The applet and performing Add/Sub/Mul/Div according the button pressed.

I have to write 4 actions in a single function...so i hav used if stmt with get().

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util;
import java.util.*;

public class FinalThreadDemo extends JFrame implements ActionListener
{

JFrame frm;
JPanel panel;
JLabel label1;
JLabel label2
JTextField tf1;
JTextField tf2;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
GridLayout gl;

public FinalThreadDemo( )
{
super("FinalThread Demo");

JFrame frm=new JFrame("Arithmetic Operations");
JPanel panel=new JPanel( );
GridLayout gl=new GridLayout(4,4);
JLabel label1=new JLabel("FirstNumber");
JLabel label2=new JLabel("Second Number");
JTextField tf1=new JTextField(10);
JTextField tf2=new JTextField(10);
JButton button1=new JButton( );
button1.setText("Add");
JButton button2=new JButton( );
button2.setText("Sub");
JButton button3=new JButton( );
button3.setText("Mul");
JButton button4=new JButton( );
button4.setText("Div");

panel.add(l1);
panel.add(l2);
panel.add(tf1);
panel.add(tf2);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);

panel.setLayout(gl);

frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
frm.setSize(400,400);

this.getContentPane.add(panel);

public void ActionListener(actionPerformed ae)
{

public void Operations(int a,int b)
{

if(ae.getText( )==Add)
{
c=a+b;
return c;
}

if(ae.getText()==Sub)
{
c=a-b;
return c;
}

if(ae.getText( )==Mul)
{
c=a*b;
return c;
}

if(ae.getText( )==Div)
{
c=a/b;
return c;
}

}

public static void main(String args[])
{

BufferedReader keyboardInput1 = new BufferedReader(new InputStreamReader(System.in));
BufferedReader keyboardInput2 = new BufferedReader(new InputStreamReader(System.in));

int a= Integer.parseInt(keyboardInput1.readLine());
int b=Integer.parseInt(keyboardInput2readLine());

javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
int d;
FinalThreadDemo md=new FinalThreadDemo();
d=md.Operations(a,b);
}

});

}

}


Viji
Srinivasa Raghavan
Ranch Hand

Joined: Sep 28, 2004
Posts: 1228
It would be nice if you post the error you got.


Thanks & regards, Srini
MCP, SCJP-1.4, NCFM (Financial Markets), Oracle 9i - SQL ( 1Z0-007 ), ITIL Certified
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17260
    
    6

Also, we have a "CODE" tag, that can be created by clicking the CODE button,
which is located under the "Add Reply" button, along with URL, BOLD, etc. buttons

This tag will enable you to keep your formatting for your code, like indentation, and makes your code readable.
The way your code is posted makes it difficult to read, and therefore, more difficult for us to help you.

Thanks

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

The call to md.Operations() is in an anonymous Runnable class. The parameters you're passing are local variables in the surrounding methods. Under these circumstances, Java requires that such variables be "final", so making "a" and "b" final will fix that compile error.

Now, there are several other major things I want to tell you about. First of all, Integer.parseInt() will report failure by throwing a NumberFormatException; you really need to catch those instead of simply trusting that the input parameters are OK.

The second one is that Java has a firmly entrenched, but simple, set of naming conventions. Don't capitalize method names like "Operations" -- method namesand variable names should always start with a lower-case letter, while class names should always start with an upper-case letter.

Thirdly, don't ever, ever, compare Strings using the "==" operator; even if it seems to work, relatively minor changes to a program can make it stop working. Instead, use the equals() method to do the comparison --

if (s1.equals(s2)) ...


[Jess in Action][AskingGoodQuestions]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: how to solve the error?