当前位置: 代码迷 >> Java相关 >> 简单的计算器程序,怎么没法运行,高人帮下忙!谢谢!
  详细解决方案

简单的计算器程序,怎么没法运行,高人帮下忙!谢谢!

热度:161   发布时间:2006-10-20 13:45:34.0
简单的计算器程序,怎么没法运行,高人帮下忙!谢谢!

import java.awt.*;
import java.applet.Applet;
import java.lang.*;
public class Calculator extends Applet
{
public static void main(String args[])
{
Label lop1 = new Label("Operator 1");
Label lop2 = new Label("Operator 2");
Label lres = new Label("Result");
Label lerr = new Label("Error Message");
TextField tfop1 = new TextField(10);
TextField tfop2 = new TextField(10);
TextField tfres = new TextField(10);
TextArea taerr = new TextArea(4,15);
public void init()
{
resize(200,200);
add(lop1);
tfop1.setEditable(true);
tfop1.resize(tfop1.preferredSize());
add(tfop1);
add(lop2);
tfop2.setEditable(true);
tfop2.resize(tfop2.preferredSize());
add(tfop2);
add(lres);
tfres.setEditable(false);
tfres.resize(tfres.preferredSize());
add(tfres);
add(lerr);
taeer.setEditable(false);
taeer.resize(taeer.preferredSize());
add(taeer);
show();
}
public boolean keyDown(Event evt , int key)
{
if(evt.target == tfop2)
{
char c = (char)key;
if(c == '\n')
{
execute();
return(true);
}
return(false);
}
}
public void execute()
{
int op1,op2,result;
String opstr = tfop1.getText();
try(op1 = Interger.parseInt(opstr))
catch(NumberFormatException e )
{
taerr.appendText("Operator Format Wrong \n");
return ;
}
opstr = tfop2.getText();
try(op2 = Interger.parseInt(opstr))
catch(NumberFormatException e )
{
taerr.appendText("Operator Format Wrong \n");
return ;
}
result = op1+op2 ;
tfres.setText(Interger.toString( result ));
}
}
}

搜索更多相关的解决方案: 计算器  高人  运行  

----------------解决方案--------------------------------------------------------

下面这个错误略少一点
import java.awt.*;
import java.applet.Applet;
import java.lang.*;
public class Calculator extends Applet
{
public static void main(String args[])
{
Label lop1 = new Label("Operator 1");
Label lop2 = new Label("Operator 2");
Label lres = new Label("Result");
Label lerr = new Label("Error Message");
TextField tfop1 = new TextField(10);
TextField tfop2 = new TextField(10);
TextField tfres = new TextField(10);
TextArea taerr = new TextArea(4,15);
init();
}
public void init()
{
resize(200,200);
add(lop1);
tfop1.setEditable(true);
tfop1.resize(tfop1.preferredSize());
add(tfop1);
add(lop2);
tfop2.setEditable(true);
tfop2.resize(tfop2.preferredSize());
add(tfop2);
add(lres);
tfres.setEditable(false);
tfres.resize(tfres.preferredSize());
add(tfres);
add(lerr);
taeer.setEditable(false);
taeer.resize(taeer.preferredSize());
add(taeer);
show();
}
public boolean keyDown(Event evt , int key)
{
if(evt.target == tfop2)
{
char c = (char)key;
if(c == '\n')
{
execute();
return(true);
}
return(false);
}
}
public void execute()
{
int op1,op2,result;
String opstr = tfop1.getText();
try(op1 = Interger.parseInt(opstr))
catch(NumberFormatException e )
{
taerr.appendText("Operator Format Wrong \n");
return ;
}
opstr = tfop2.getText();
try(op2 = Interger.parseInt(opstr))
catch(NumberFormatException e )
{
taerr.appendText("Operator Format Wrong \n");
return ;
}
result = op1+op2 ;
tfres.setText(Interger.toString( result ));
}
}


----------------解决方案--------------------------------------------------------
。。请问你的程序是一点错误吗???我怎么复制上去到处是红线(我用的Ecplise,红线表示有错误)好多问题好像都是局部变量引起的。。建议一般都声明成全局(类)变量。。还有个人认为在main方法中不要写任何语句,在构造中写或者调用其它方法  这样可以避免一些诸如static方法不能调用non-static的方法的问题。。。。

如有什么地方说的不好还请其它高手不要见笑。。。。。

----------------解决方案--------------------------------------------------------
打字错误
你的Integer,而不是Interger
还有,你不要把四个Label覆盖在一起,应该设置好他们的位置和大小,不要都用Label.preferredSize();
最后就是把你的哪些Label,TextField都放在主函数的外面,然后设置程私有的;
先改这些试试吧,错误太多有点头大

----------------解决方案--------------------------------------------------------
这是一本教材上的程序阿!
----------------解决方案--------------------------------------------------------
op2 = Integer.parseInt(opstr);
----------------解决方案--------------------------------------------------------
以下是引用开心一科在2006-10-21 12:59:22的发言:
这是一本教材上的程序阿!

教材可能出错,也可能是你抄错了.比如楼上指出的Integer你写成Interger了
----------------解决方案--------------------------------------------------------

  相关解决方案