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));
}
}
}
这个程序是我写的计算器程序.... 展开
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));
}
}
}
这个程序是我写的计算器程序.... 展开
5个回答
展开全部
你的程序我帮你改好了,你看看吧,主要是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));
}
}
}
完整的程序如下:(改动的地方见注释)
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
追答
你如果有问题可以到百度知道提问题,我想很多人会帮助你的,不仅仅是我,大家都会帮助你的。
展开全部
技术问题找西嵌!西嵌 专做嵌入式linux和安卓课程培训!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲~~int型系统默认为0,你具体引用时赋值字符型,系统就不知道用什么来初始化了,建议手动初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲,你的Label result;还没有初始化啊,怎么添加进去呢?
追问
你可不可以给你的邮箱给我啊???以后就方便问你问题了啊!!!我的邮箱是1185279685@qq.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int mark;//运算符索引...没初始化
追问
不是有默认值吗???
追答
这个默认值也得看情况的,不是什么时候都适合的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询