954,168 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

problem in java cobe

hi
i need to help me this is my calculator code but it's not work with me and i don't know what is the problem in this code can you help me to solve it and tell me what is the problem .
thank you .


import java.awt.*;
import java.awt.event.*;
import java.applet.*;

/**
* Title:



* Description:



* Copyright: Copyright (c) 2004



* Company:



* @author not attributable
* @version 1.0
*/

public class calculator2 extends Applet
{
TextField display;
int saveNum = 0;
int memNum = 0;
char op = '=';
char lastOp = '=';
boolean newNum = true;

public void init ()
{
setBackground(Color.pink);

display = new TextField("0", 6);
display = setEditable(false);//
add(display);

Panel p = new Panel ();
p.setLayout(new GridLayout (5, 4));
for (int i = 1; i <= 9; i++)
{
p.add(new Button("" + i));
if (i==3)
p.add(new Button("+"));
if (i==6)
p.add(new Button("-"));
}

p.add(new Button("*"));
p.add(new Button("%"));
p.add(new Button("0"));
p.add(new Button("±")); //grabbed the sign from the character map
p.add(new Button("/"));
p.add(new Button("M*"));
p.add(new Button("RM"));
p.add(new Button("C"));
p.add(new Button("="));
add(p);
}

public boolean action(Event evt, Object arg)
{
if (arg instanceof String)
{
String s = (String) arg;
if (s.charAt(0) >= '0' && s.charAt(0) <='9')
{
if (newNum)
display.setText(display.getText() + s);
newNum = false;
}

else
{
if (s.charAt(0) == '-' && newNum)
{
display.setText("-");
newNum = false;
}

else {
op = s.charAt(0);
calc (Integer.parseInt(display.getText()));
newNum = true;
}
lastOp = op;
}
return true;
}
return super.action(evt, arg);
}

private TextField setEditable(boolean b)
{
return null;
}

public void calc(int n)
{
switch (op)
{
case '+'://saveNum += n;
case '-'://saveNum -= n;
case '*'://saveNum *= n;
case '/'://saveNum /= n;
case '%'://saveNum %= n;
saveNum = n;
return;
}

if (op == '=')
op = lastOp;

switch (op)
{
case '+':
saveNum += n;
break;
case '-':
saveNum -= n;
break;
case '*':
saveNum *= n;
break;
case '/':
saveNum /= n;
break;
case '%':
saveNum %= n;
break;
case 'M':
memNum = n;
saveNum = n;
break;
case 'R':
saveNum = memNum;
break;
case 'C':
saveNum = 0;
break;
case '±':
saveNum = -n;
break;
}
// display.setText("" + saveNum);
}}

jasmin_java
Newbie Poster
6 posts since Nov 2004
Reputation Points: 10
Solved Threads: 0
 

Well first off, where do you get the error exactly?

Egsal
Newbie Poster
4 posts since Nov 2004
Reputation Points: 10
Solved Threads: 0
 

Well, for one you have a function:
private TextField setEditable(boolean b) {
return null;
}

And you use it in your init method as such:
display = setEditable(false);//
add(display);

SO this tells me that you set TextField 'display' to NULL, then try to add it to your display TextField. I suspect you want to set your 'display' TextField to editable, so you could do the following:
display.setEditable(false);

Let me know if this is what you are talking about.

jerbo
Junior Poster in Training
84 posts since Sep 2004
Reputation Points: 11
Solved Threads: 1
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You