java中,未初始化小程序,请问什么原因啊???

importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjava.util.*;publicc... import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
public class Caculater extends Applet implements ActionListener{
Button result_Is; //计算结果,确认框....
TextField input; //输入表达式...
String operators[]={"0","+","-","*","/","%"};//1加 2减 3乘 4除...
char operator; //java中定义了char类....
Label result;
int mark;//运算符索引...
public void init() {
// TODO Auto-generated method stub
setLayout(new FlowLayout());//设置布局...
input = new TextField(30);
result_Is = new Button("等于");//生成确认按钮....
add(input);
add(result_Is);
add(result);
result_Is.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
String s = input.getText();
String s1,s2,s3;
int num1,num2;
//String mark;
for(int i=1;i<=5;i++){
if(s.indexOf(operators[i])!=-1){
mark = s.indexOf(operators[i]);
break;
}
}
operator=s.charAt(mark);
s1=s.substring(0,mark);
s2=s.substring(mark+1,s.length());
num1 = Integer.parseInt(s1);
num2 = Integer.parseInt(s2);
if(operator=='+');
{
result.setText("结果="+(num1+num2));
}
if(operator=='-');
{
result.setText("结果="+(num1-num2));
}
if(operator=='*');
{
result.setText("结果="+(num1*num2));
}
if(operator=='/');
{
result.setText("结果="+(num1/num2));
}
if(operator=='%');
{
result.setText("结果="+(num1%num2));
}
}
}
这个程序是我写的计算器程序....
展开
 我来答
紫薇参星
科技发烧友

2012-11-16 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3552万
展开全部
你的程序我帮你改好了,你看看吧,主要是Label result没有初始化,还有if语句后面多了分号。
完整的程序如下:(改动的地方见注释)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
public class Caculater extends Applet implements ActionListener{
Button result_Is; //计算结果,确认框....
TextField input; //输入表达式...
String operators[]={"0","+","-","*","/","%"};//1加 2减 3乘 4除...
char operator; //java中定义了char类....
Label result=new Label(" ");/*这里初始化一下*/
int mark;//运算符索引...
public void init() {
// TODO Auto-generated method stub
setLayout(new FlowLayout());//设置布局...
input = new TextField(25); /*这里改一下30改成25*/
result_Is = new Button("等于");//生成确认按钮....
add(input);
add(result_Is);
add(result);
result_Is.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
String s = input.getText();
String s1,s2,s3;
int num1,num2;//String mark;
for(int i=1;i<=5;i++){
if(s.indexOf(operators[i])!=-1){
mark = s.indexOf(operators[i]);
break;
}
}
operator=s.charAt(mark);
s1=s.substring(0,mark);
s2=s.substring(mark+1,s.length());
num1 = Integer.parseInt(s1);
num2 = Integer.parseInt(s2);
if(operator=='+'){/*这里if语句后面去掉分号*/
result.setText("结果="+(num1+num2));
}
if(operator=='-'){/*这里if语句后面去掉分号*/
result.setText("结果="+(num1-num2));
}
if(operator=='*'){/*这里if语句后面去掉分号*/
result.setText("结果="+(num1*num2));
}
if(operator=='/'){/*这里if语句后面去掉分号*/
result.setText("结果="+(num1/num2));
}
if(operator=='%'){/*这里if语句后面去掉分号*/
result.setText("结果="+(num1%num2));
}
}
}
更多追问追答
追问
谢谢哦,你可不可以给我你的邮箱啊,以后有问题可不可以问你啊????我的邮箱是1185279685@qq.com
追答
你如果有问题可以到百度知道提问题,我想很多人会帮助你的,不仅仅是我,大家都会帮助你的。
小妖1life
2012-11-16
知道答主
回答量:47
采纳率:0%
帮助的人:7.1万
展开全部
技术问题找西嵌!西嵌 专做嵌入式linux和安卓课程培训!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
def34567
2012-11-16
知道答主
回答量:9
采纳率:0%
帮助的人:3.8万
展开全部
亲~~int型系统默认为0,你具体引用时赋值字符型,系统就不知道用什么来初始化了,建议手动初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狗狗武林盟主
2012-11-17
知道答主
回答量:33
采纳率:0%
帮助的人:20.3万
展开全部
亲,你的Label result;还没有初始化啊,怎么添加进去呢?
追问
你可不可以给你的邮箱给我啊???以后就方便问你问题了啊!!!我的邮箱是1185279685@qq.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
处女雪中飞
2012-11-16
知道答主
回答量:22
采纳率:0%
帮助的人:4.3万
展开全部
int mark;//运算符索引...没初始化
追问
不是有默认值吗???
追答
这个默认值也得看情况的,不是什么时候都适合的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式