初学JAVA`` 做的简单功能计算器

/*初学JAVA,老师布置的一道作业题目,做一个简单功能的计算器
 *就做来试试````` 由于学的东西不多,有功能强大的方法还没学到
 *所以就用一些自己懂的方法做的, 
 * 呵呵``` 个人练习````
 *高手别骂人啊!
 */
import java.applet.Applet;
import java.awt.*;

public class Calc extends Applet{
   private Button button0,button1,button2,button3,button4,button5,button6,button7,button8,button9,jia,jian,deng,cheng,chu,clear;
   TextField show,result;
   String s1="",s2,s4,s5,s6;
  char s3,ch1; 
  double num1,num2,num3;
  int s11_length,num4;
//*************初始化*****************
 public void init()
 {
  show=new TextField(10);result=new TextField(10);button0=new Button("0"); button1=new Button("1");button2=new Button("2");
  button3=new Button("3");button4=new Button("4");button5=new Button("5");button6=new Button("6");button7=new Button("7");
  button8=new Button("8");button9=new Button("9");jia=new Button("+");jian=new Button("-");cheng=new Button("×");
  chu=new Button("÷");deng=new Button("=");clear=new Button("清除");
  add(show);
  add(result);
  setLayout(null);
  add(button0);add(button1);add(button2);add(button3);add(button4);add(button5);add(button6);add(button7);add(button8);
  add(button9);add(jia);add(jian);add(cheng);add(chu);add(deng);add(clear);
  show.reshape(10,10,130,25);result.reshape(150,10,130,25);
  button0.reshape(10,50,45,20);button1.reshape(65,50,45,20);button2.reshape(120,50,45,20);button3.reshape(175,50,45,20);
  button4.reshape(10,90,45,20);button5.reshape(65,90,45,20);button6.reshape(120,90,45,20);button7.reshape(175,90,45,20);
  button8.reshape(10,130,45,20);button9.reshape(65,130,45,20);jia.reshape(120,130,45,20);jian.reshape(175,130,45,20);
  cheng.reshape(10,170,45,20);chu.reshape(65,170,45,20);deng.reshape(120,170,100,20);clear.reshape(230,130,55,60);
  }
 
//************判断事件****************
public boolean action(Event e,Object o)
{
 if(e.target instanceof Button)
 {
  s2=o.toString();
  s3=s2.charAt(0);
  switch(s3){
  case '0': case '1': case '2':  case '3':  case '4':  case '5':  case '6':  case '7':  case '8':  case '9':
  s1=s1.concat(s2);
  show.setText(s1);
  break;
  case '+': case '-': case '×': case '÷':
  s11_length=s1.length();
  ch1=s3;
  num1=zhuanhua(s1);
  s1=s1.concat(s2);
  show.setText(s1);
  break;
  case '=':
    s5=s1.substring(s11_length+1);
    num2=zhuanhua(s5);
    switch(ch1)
    {case '+':
   num3=num1+num2;  break;
   case '-':
   num3=num1-num2; break;
    case '×':
    num3=num1*num2;break;
    case '÷':
    num3=(double)num1/(double)num2; break;
 }
   num4=(int)num3;
   s1=Integer.toString(num4);
   result.setText(""+num3);
   break;
  case '清':
  result.setText("");
  show.setText("");
  num3=0;
  s1="";
  break;
 }
  }
 return true;
 }
//********************字符串转化成数字****************
public int zhuanhua(String s)
{
 int num=0,i,element;
 char ch;
 for(i=0;i<s.length();i++)
 {
  ch=s.charAt(i);
  element=ch-'0';
  
 num+=element*(Math.pow(10,s.length()-i-1));
 
  }
  return num;
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值