2 u013251453 u013251453 于 2013.12.25 21:06 提问

最好运行结果说是Exception in thread "main" java.NoSuchMethordError:main

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);
}
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java中Exception in thread "main" java.util.NoSuchElementException
在jEclipse中出现错误: Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1416) at InputWord.inputWord(Word
java编译中出现了Exception in thread “main" java.lang.UnsupportedClassVersionError
这个问题确实是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误。     1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。这里假设都是1.7版本。     2、如果都一致,但还是解决不了问题,那么你
Exception in thread "main" java.lang.NoClassDefFoundError 问题及其解决方法
Preface 在浏览本文之前,请保证已经安装好JDK, JRE,并且对如何设置classpath有基本认识。EnvironmentOS: Windows XPJava Development Kit: 1.6.0_06Java Runtime Environemt: 6Introduction本文主要讲述在CMD上run Java program 时可能遇到的 Exc
Exception in thread "main" java.lang.NoClassDefFoundError解决了
Exception in thread "main" java.lang.NoClassDefFoundError   这个问题解决了!现总结如下 由于我是用JBuilder编写的。且能够运行。 接着我在cmd中运行了下,就出现这个问题。 原因:在cmd下应该有main函数 不管在哪个目录下都不行,不管执行那个文件都提示Exception  in  thread  "main"  ja
java中出现java.lang.NoSuchMethodError: main,Exception in thread "main"
在一次程序运行中出现 java.lang.NoSuchMethodError: main  Exception in thread "main" 造成这样情况的原因可能有两个: 1、程序中没有main函数; 2、程序中的main函数的修饰符没有static。 
Exception in thread "main" java.lang.IllegalArgumentException
1、错误描述 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date at java.text.DateFormat.format(DateFormat.java:301) at java.text.Format.format(Format.java
1. spring boot项目创建过程中遇到的问题(一):Exception in thread "main" java.lang.UnsupportedClassVersionError
记录搭建springboot项目时遇到的一些问题问题:Exception in thread &quot;main&quot; java.lang.UnsupportedClassVersionError :  unsupported major.minor version 52.0我的电脑上安装了jdk1.7 和 jdk1.8,虽然创建项目的时候选择了当前使用的jdk版本1.7,但是创建后的发现使用的是jdk1.8...
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at First.Demo1_13.main(Demo1
public static void main(String[] args) { // TODO Auto-generated method stub //String [] ss=sss.spilt(","); Scanner scan=new Scanner(System.in); int len=5; double [] numbers=new double[len]; fo
运行java程序的时候出现Exception in thread "main" java.lang.UnsupportedClassVersionError:
之前编译编写项目的时候,用的是JDK1.8,之后换成了JDK1.7,然后之后编写的java类,运行的时候总是报错。 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/test/inherited/InheritableSon : Unsupported major.minor version 52.0
Linux 下运行Java程序报“Exception in thread "main" java.lang.NoClassDefFoundError”
问题:使用命令“Javac Test.java” 编译通过,并生成Test.class文件,但是当“Java Test”时报错??? [root@tmglh225 ~]# javac Test.java [root@tmglh225 ~]# java Test Exception in thread "main" java.lang.NoClassDefFoundError: Test Caus