我是java新手,不确定为什么我一直收到此错误消息。当我右键单击并运行该文件时,它运行正常。但是,当我点击运行按钮时,它会给我错误消息。还有一种方法可以保存用户输入的数据吗?
package calculatorfinal;
import java.applet.*;
import java.awt.*;
public class CalculatorFinal extends Applet{
TextArea screen;
Button one, two, three, four, five, six, seven, eight, nine, zero,
div, mult, sub, ad, eq, clear;
int total, num, lastnum;
String st, st1;
char oper;
boolean operon=false;
public CalculatorFinal(){}
public String getAppletInfo()
{
return "Name: Calculator Final" +
"Author: Mike Braddy";
}
public void init()
{
resize(100, 150);
setBackground(Color.gray);
screen=new TextArea("",1,12);
add(screen);
one=new Button("1");
two=new Button("2");
three=new Button("3");
four=new Button("4");
five=new Button("5");
six=new Button("6");
seven=new Button("7");
eight=new Button("8");
nine=new Button("9");
zero=new Button("0");
div=new Button("/");
mult=new Button("*");
sub=new Button("-");
ad=new Button("+");
eq=new Button("=");
clear=new Button("c");
add(seven);
add(eight);
add(nine);
add(div);
add(four);
add(five);
add(six);
add(mult);
add(one);
add(two);
add(three);
add(sub);
add(clear);
add(zero);
add(eq);
add(ad);
}
public void destroy(){}
@Override
public void paint(Graphics g){}
public void start(){}
public void stop(){}
public boolean action(Event evt, Object arg)
{
if(evt.target instanceof Button)
{
if(evt.target==one)
{
if(operon==false)
{
screen.appendText("1");
return true;
}
else
{
screen.setText("1");
operon=false;
return true;
}
}
else if(evt.target==two)
{
if(operon==false)
{
screen.appendText("2");
return true;
}
else
{
screen.setText("2");
operon=false;
return true;
}
}
else if(evt.target==three)
{
if(operon==false)
{
screen.appendText("3");
return true;
}
else
{
screen.setText("3");
operon=false;
return true;
}
}
else if(evt.target==four)
{
if(operon==false)
{
screen.appendText("4");
return true;
}
else
{
screen.setText("4");
operon=false;
return true;
}
}
else if(evt.target==five)
{
if(operon==false)
{
screen.appendText("5");
return true;
}
else
{
screen.setText("5");
operon=false;
return true;
}
}
else if(evt.target==six)
{
if(operon==false)
{
screen.appendText("6");
return true;
}
else
{
screen.setText("6");
operon=false;
return true;
}
}
else if(evt.target==seven)
{
if(operon==false)
{
screen.appendText("7");
return true;
}
else
{
screen.setText("7");
operon=false;
return true;
}
}
else if(evt.target==eight)
{
if(operon==false)
{
screen.appendText("8");
return true;
}
else
{
screen.setText("8");
operon=false;
return true;
}
}
else if(evt.target==nine)
{
if(operon==false)
{
screen.appendText("9");
return true;
}
else
{
screen.setText("9");
operon=false;
return true;
}
}
else if(evt.target==zero)
{
if(operon==false)
{
screen.appendText("0");
return true;
}
else
{
screen.setText("0");
operon=false;
return true;
}
}
else if(evt.target==div)
{
oper='/';
st=screen.getText();
lastnum=Integer.parseInt(st);
operon=true;
}
else if(evt.target==mult)
{
oper='*';
st=screen.getText();
lastnum=Integer.parseInt(st);
operon=true;
}
else if(evt.target==sub)
{
oper='-';
st=screen.getText();
lastnum=Integer.parseInt(st);
operon=true;
}
else if(evt.target==ad)
{
oper='+';
st=screen.getText();
lastnum=Integer.parseInt(st);
operon=true;
}
else if(evt.target==clear)
{
screen.setText("");
total=0;
}
else //eq
{
if(oper == '/')
{
st=screen.getText();
num=Integer.parseInt(st);
total=lastnum/num;
}
else if(oper == '*')
{
st=screen.getText();
num=Integer.parseInt(st);
total=lastnum*num;
}
else if(oper == '-')
{
st=screen.getText();
num=Integer.parseInt(st);
total=lastnum-num;
}
else if(oper == '+')
{
st=screen.getText();
num=Integer.parseInt(st);
total=lastnum+num;
}
st1=Integer.toString(total);
screen.setText(st1);
lastnum=0;
oper='!';
operon=true;
}
}
return true;
}
}
答案 0 :(得分:0)
这取决于您的IDE。如果您正在使用Eclipse,则菜单栏中的绿色运行按钮将运行最近运行的项目。您可以点击下拉箭头查看它正在运行的项目。确保您运行所需项目的最简单方法是右键单击项目并单击“运行”,就像您一直在做的那样。如果光标位于项目的类文件中,则运行按钮应该运行该项目。
就保存来自用户的数据而言,您已经使用TextArea执行此操作,尽管输入采用通过按钮追加的数字形式。如果要将TextArea中的文本保存在其他位置,可以将其存储在String中。如果您希望数据在运行之间保持持久(在程序之后持续),则可以将其存储在文本文件中。我喜欢使用FileWriter来做到这一点。 Here是一个教程。