求大神解答一下-程序问什么运行不出来

问题描述

程序问什么运行不出来

import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//import java.Math.*;
public class cal extends Applet
{
//定义所有需要使用的全局变量
String str="0";//暂存显示屏数据
String sign="null";//暂存符号数据
double num=0;//暂存内部运算数据
boolean change=false;//暂存内部四则运算起用

GridLayout g0,g1;//定义AWT布局部件
JTextField number;
Button num_p,num_0,num_1,num_2,num_3,num_4,num_5,num_6,num_7,num_8,num_9;
Button act_add,act_mul,act_div,act_sub;
Button mat_sin,mat_cos,mat_tan;
Button do_ans,do_del;
Panel p0,p1;

public void init()//主程序部分
{
//定义各个控件的样式
number=new JTextField(20);//显示屏
number.setHorizontalAlignment(JTextField.RIGHT);
number.setEnabled(false);
number.setText("0");

num_p=new Button(".");//小数点的按钮
num_p.setForeground(Color.red);
num_p.addActionListener(new getbt());

num_0=new Button("0");//数字0的按钮
num_0.setForeground(Color.red);
num_0.addActionListener(new getbt());

num_1=new Button("1");//数字1的按钮
num_1.setForeground(Color.red);
num_1.addActionListener(new getbt());

num_2=new Button("2");//数字2的按钮
num_2.setForeground(Color.red);
num_2.addActionListener(new getbt());

num_3=new Button("3");//数字3的按钮
num_3.setForeground(Color.red);
num_3.addActionListener(new getbt());

num_4=new Button("4");//数字4的按钮
num_4.setForeground(Color.red);
num_4.addActionListener(new getbt());

num_5=new Button("5");//数字5的按钮
num_5.setForeground(Color.red);
num_5.addActionListener(new getbt());

num_6=new Button("6");//数字6的按钮
num_6.setForeground(Color.red);
num_6.addActionListener(new getbt());

num_7=new Button("7");//数字7的按钮
num_7.setForeground(Color.red);
num_7.addActionListener(new getbt());

num_8=new Button("8");//数字8的按钮
num_8.setForeground(Color.red);
num_8.addActionListener(new getbt());

num_9=new Button("9");//数字9的按钮
num_9.setForeground(Color.red);
num_9.addActionListener(new getbt());

act_add=new Button("+");//加法的按钮
act_add.setForeground(Color.red);
act_add.addActionListener(new getbt());

act_sub=new Button("-");//减法的按钮
act_sub.setForeground(Color.red);
act_sub.addActionListener(new getbt());

act_mul=new Button("*");//乘法的按钮
act_mul.setForeground(Color.red);
act_mul.addActionListener(new getbt());

act_div=new Button("/");//除法的按钮
act_div.setForeground(Color.red);
act_div.addActionListener(new getbt());

do_ans=new Button("=");//等于的按钮
do_ans.setForeground(Color.red);

do_ans.addActionListener(new getbt());

do_del=new Button("del");//删除的按钮
do_del.setForeground(Color.red);
do_del.addActionListener(new getbt());

mat_sin=new Button("sin");//sin的按钮
mat_sin.setForeground(Color.red);
mat_sin.addActionListener(new getbt());

mat_cos=new Button("cos");//cos的按钮
mat_cos.setForeground(Color.red);
mat_cos.addActionListener(new getbt());

mat_tan=new Button("tan");//tan的按钮
mat_tan.setForeground(Color.red);
mat_tan.addActionListener(new getbt());

//布局整个计算器
g0=new GridLayout(1,1,10,10);//布局输入输出大体位置
g1=new GridLayout(4,5,10,10);

p0=new Panel(); //显示屏的布局
p0.setLayout(g0);
p0.add(number);
p0.setBounds(0,0,100,50);

//按纽的布局
p1=new Panel();
p1.setLayout(g1);
p1.add(num_1);//第一排按纽
p1.add(num_2);
p1.add(num_3);
p1.add(act_add);
p1.add(act_sub);

p1.add(num_4);//第二排按纽
p1.add(num_5);
p1.add(num_6);
p1.add(act_mul);
p1.add(act_div);

p1.add(num_7);//第三排按纽
p1.add(num_8);
p1.add(num_9);
p1.add(mat_sin);
p1.add(mat_cos);

p1.add(num_0);//第四排按钮
p1.add(num_p);
p1.add(do_ans);
p1.add(do_del);
p1.add(mat_tan);
p1.setBounds(5,60,400,250);
p1.setBackground(Color.cyan);//设置按钮背景颜色

setLayout(null);
add(p0);
add(p1);

this.setBackground(Color.cyan);//设置背景整体颜色
}

class getbt implements ActionListener //监听作出反应的类
{
public void actionPerformed(ActionEvent e)//对每个每个按钮做出响应
{
if(e.getSource()==num_0)
press0();
else if(e.getSource()==num_1)
press1();
else if(e.getSource()==num_2)
press2();
else if(e.getSource()==num_3)
press3();
else if(e.getSource()==num_4)
press4();
else if(e.getSource()==num_5)
press5();
else if(e.getSource()==num_6)
press6();
else if(e.getSource()==num_7)
press7();
else if(e.getSource()==num_8)
press8();
else if(e.getSource()==num_9)
press9();
else if(e.getSource()==num_p)
pressp();
else if(e.getSource()==act_add)
pressadd();
else if(e.getSource()==act_mul)
pressmul();
else if(e.getSource()==act_div)
pressdiv();
else if(e.getSource()==act_sub)
presssub();
else if(e.getSource()==mat_sin)
presssin();
else if(e.getSource()==mat_tan)
presstan();
else if(e.getSource()==mat_cos)
presscos();
else if(e.getSource()==do_ans)
pressans();
else if (e.getSource()==do_del)
pressdel();
}

}
public void press0()//对按0作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="0";
}
else if(str=="0" || sign!="null")
{
str="0";
}
number.setText(str);
}

public void press1()//对按1作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="1";
}
else if(str=="0"|| sign!="null")
{
str="1";
change=false;
}
number.setText(str);
}

public void press2()//对按2作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="2";
}
else if(str=="0" || sign!="null")
{
str="2";
change=false;
}
number.setText(str);
}

public void press3()//对按3作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="3";
}
else if(str=="0" || sign!="null")
{
str="3";
change=false;
}
number.setText(str);
}
public void press4()//对按4作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="4";
}
else if(str=="0" || sign!="null")
{
str="4";
change=false;
}
number.setText(str);
}

public void press5()//对按5作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="5";
}
else if(str=="0" || sign!="null")
{
str="5";
change=false;
}
number.setText(str);
}

public void press6()//对按6作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="6";
}
else if(str=="0" || sign!="null")
{
str="6";
change=false;
}
number.setText(str);
}

public void press7()//对按7作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="7";
}
else if(str=="0" || sign!="null")
{
str="7";
change=false;
}
number.setText(str);
}

public void press8()//对按8作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="8";
}
else if(str=="0" || sign!="null")
{
str="8";
change=false;
}
number.setText(str);
}

public void press9()//对按9作出反应
{
if(str.length()<16 && str!="0" && change==false)
{
str+="9";
}
else if(str=="0" || sign!="null")
{
str="9";
change=false;
}
number.setText(str);
}

public void pressp()//对按.作出反应
{
boolean p=false;
for(int i=0;i<str.length();i++)
if(str.charAt(i)=='.')
p=true;
if(str.length()<16 && str!="0" && sign=="null" && p==false)
{
str+=".";
}
else if((str=="0" || sign!="null")&& p==false)
{
str="0.";
}
number.setText(str);
}

public void pressadd()//对按+作出反应
{
sign="add";
num=Double.parseDouble(str);
change=true;
}

public void presssub()//对按-作出反应
{
sign="sub";
num=Double.parseDouble(str);
change=true;
}
public void pressmul()//对按*作出反应
{
sign="mul";
num=Double.parseDouble(str);
change=true;
}
public void pressdiv()//对按/作出反应
{
sign="div";
num=Double.parseDouble(str);
change=true;
}
public void presssin()//对按sin作出反应
{
if(str!="0." && str!="-0" && str!="-0." && str!="0")
{
sign="null";
num=Double.parseDouble(str);
num=Math.sin(num);
str=Double.toString(num);
if(str.length()>16)
str=str.substring(0,16);
num=0;
}
if(str=="0")
{
sign="null";
num=0;
}
number.setText(str);
}
public void presstan()//对按tan作出反应
{
if(str!="0." && str!="-0" && str!="-0."&& str!="0")
{
sign="null";
num=Double.parseDouble(str);
num=Math.tan(num);
str=Double.toString(num);
if(str.length()>16)
str=str.substring(0,16);
num=0;
}
number.setText(str);
}
public void presscos()//对按cos作出反应
{
if(str!="0." && str!="-0" && str!="-0.")
{
sign="null";
num=Double.parseDouble(str);
num=Math.cos(num);
str=Double.toString(num);
if(str.length()>16)
str=str.substring(0,16);
num=0;
}
number.setText(str);
}
public void pressans()//对按=作出反应
{
if(sign=="null")
number.setText(str);
else if(sign=="add")
{
num+=Double.parseDouble(str);
str=Double.toString(num);
number.setText(str);
}
else if(sign=="sub")
{
num-=Double.parseDouble(str);
str=Double.toString(num);
number.setText(str);
}
else if(sign=="mul")
{
num*=Double.parseDouble(str);
str=Double.toString(num);
number.setText(str);
}
else if(sign=="div")
{
if(num!=0)
{
num/=Double.parseDouble(str);
str=Double.toString(num);
number.setText(str);
}
else
{
str="0";
number.setText(str);
}
}
sign="null";
}
public void pressdel()//对按del作出反应
{
if(str.length()>1)
{
str=str.substring(0,str.length()-1);
number.setText(str);
}
else if(str.length()==1)
{
str="0";
number.setText(str);
}
}
}

解决方案

我运行了,可以出来呀。一个计算机 不过后天有问题:告:不能读取 AppletViewer 的属性文件: C:UsersAdministrator.hotjavaproperties 使用默认值。 erliangban 12-24 10 这句话是什么意思?我不懂,你能再解释一下,方便的话可以截屏看一下吗?

解决方案二:

表示不想看。能不能简化一下再发,这么多这么看??

解决方案三:

运行结果是主程序的问题,用的是Applet运行

时间: 2024-10-30 13:53:56

求大神解答一下-程序问什么运行不出来的相关文章

c语言取小数问题,急求大神解答!

问题描述 c语言取小数问题,急求大神解答! 程序是#include int main() { float a,b; int n; scanf("%f",&a); n=(1000*a+0.5); b=(n*1.0)/1000; printf("%f",b); return 0; } 输入123.4567 输出是123.457001 输入1234.567 输出时1234.567017 输入12345.67 输出是12345.669922 为什么会这样呢?求大神解

出现频率-一道C语言编程题,本人初学者,求大神解答

问题描述 一道C语言编程题,本人初学者,求大神解答 编写程序实现功能:数据文件story.txt是一篇英文小故事,请先统计其中26个字母的出现次数. 要求一:再根据用户要求,输出某个字母的出现次数,直到用户输入#为止. 要求二:请输出出现频率最高的三个字母和它们的出现次数. 解决方案 #include #include #include int main() { int alpha[26]={0}; //用于计数26个字母出现的次数 FILE *text; //FILE 指针 char ch;

窗口风格-MFC SDI禁掉最大化按钮后程序把桌面任务里覆盖了,求大神解答

问题描述 MFC SDI禁掉最大化按钮后程序把桌面任务里覆盖了,求大神解答 2C MFC SDI禁掉最大化按钮后程序把桌面任务里覆盖了,求大神解答 解决方案 我是在 PreCreate 函数修改的窗口风格 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWndEx::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATESTRUCT cs 来修改窗口

debug-VS2013下运行的MFC程序和直接从exe打开的不一样,是怎么回事,求大神解答

问题描述 VS2013下运行的MFC程序和直接从exe打开的不一样,是怎么回事,求大神解答 VS下运行时这样 然而直接从debug文件夹或者release文件夹下的exe打开是这样: 后者没有棋子,为什么会出现这种区别呢,打开的不都同一个文件吗?VS有特殊的技能? 解决方案 屏幕和资源文件的地方读取不一样 解决方案二: 恭喜.恭喜.恭喜.恭喜.

c++ mfc visual-visual studio6.0 mfc程序和控制台程序的简单问题,求大神解答

问题描述 visual studio6.0 mfc程序和控制台程序的简单问题,求大神解答 visual c++6.0中控制台程序的main函数应该放在mfc程序的哪个文件中,成员函数放在mfc的哪个文件中.

请问这段代码为什么输出null,求大神解答程序执行的顺序?

问题描述 请问这段代码为什么输出null,求大神解答程序执行的顺序? public class xieCheng { private String baseName="Base"; public xieCheng(){ this.callName(); } public void callName(){ System.out.println(baseName); } } public class Sub extends xieCheng { private String baseNam

C#基于KINECT的程序求大神解答~

问题描述 求大神解答一下~如何使用C#完成基于kinect的康复系统登录界面的设计~或者可以指导一下思路~谢谢啦! 解决方案 解决方案二:kinect康复系统登录界面的设计就是Unity3D做登录界面啊解决方案三:来这里好好学习天天向上http://game.ceeger.com/forum/index.php?c=thread&fid=28解决方案四:最好下个人脸识别包kinect捕捉下就ok了界面简洁点就行解决方案五:或者基于语音解决方案六:引用1楼starfd的回复: kinect康复系统

数据-在C#里使用SharpPCap对程序进行抓包,求大神解答

问题描述 在C#里使用SharpPCap对程序进行抓包,求大神解答 可以监测指定程序.指定端口上所有的信息流量.最后以十六进制形式来显示数据内容,并保存数据信息的.话说这个可以通关sharpcap实现么,求大神指导.QAQ 解决方案 参考http://www.cnblogs.com/therock/articles/3572119.htmlhttp://www.360doc.com/content/11/0519/14/6889381_117894489.shtml 解决方案二: 最好是有程序的

画出流程图,并写出程序,求大神解答!

问题描述 画出流程图,并写出程序,求大神解答! 有一组无符号字节数据,从存储单元DATTA开始存放,数组的长度存放在存储单元SIZE中.试编写一个程序求他们的平均值(保留整数部分),并放在SIZE单元的后面. 要求:画出流程图,并写出程序,求大神解答,谢谢! 解决方案 程序我有,正好是我们的微机作业.但是为了防止别人抄袭我的答案,请先采纳我的回答,我才能发给你. 解决方案二: 作业题 解决方案三: 程序我有,正好是我们的微机作业.但是为了防止别人抄袭我的答案,请先采纳我的回答,我才能发给你.