当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 无聊ing~~写了个计算器大小程序~~贴出来分享一下
帖子发表于 : 2006-10-16 17:06 

注册: 2006-09-28 15:25
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calculator extends JTextField implements ActionListener

{

Frame cal;

double num_show,num_back,result;

double pow;

char oper;

boolean point_pressed,oper_pressed;

JTextField tf;

Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;

Button b_plus,b_minus,b_time,b_divide,b_equal,b_point,b_clear;



public void display()

{

num_show=num_back=result=0;

pow=1;

oper='+';

point_pressed=oper_pressed=false;

cal=new Frame("Calculator");

cal.setSize(140,200);

cal.setBackground(Color.white);

cal.setLocation(442,284);

cal.setLayout(new FlowLayout(FlowLayout.LEFT));

cal.setResizable(false);

cal.setCursor(Cursor.HAND_CURSOR);



tf=new JTextField(10);

tf.setEditable(false);

tf.setHorizontalAlignment(tf.RIGHT);

cal.add(tf);

b0=new Button("0");

b1=new Button("1");

b2=new Button("2");

b3=new Button("3");

b4=new Button("4");

b5=new Button("5");

b6=new Button("6");

b7=new Button("7");

b8=new Button("8");

b9=new Button("9");

b_plus=new Button("+");

b_minus=new Button("-");

b_time=new Button("*");

b_divide=new Button("/");

b_equal=new Button("=");

b_point=new Button("..");

b_clear=new Button("clear");



cal.add(b1);

cal.add(b2);

cal.add(b3);

cal.add(b_plus);

cal.add(b4);

cal.add(b5);

cal.add(b6);

cal.add(b_minus);

cal.add(b7);

cal.add(b8);

cal.add(b9);

cal.add(b_time);

cal.add(b_point);

cal.add(b0);

cal.add(b_equal);

cal.add(b_divide);

cal.add(b_clear);



b0.addActionListener(this);

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

b9.addActionListener(this);

b_plus.addActionListener(this);

b_minus.addActionListener(this);

b_time.addActionListener(this);

b_divide.addActionListener(this);

b_equal.addActionListener(this);

b_point.addActionListener(this);

b_clear.addActionListener(this);

cal.addWindowListener(new WinClose());

cal.setVisible(true);

}



public static void main(String arg[])

{

Calculator cc=new Calculator();

cc.display();

}



public void actionPerformed(ActionEvent e)

{

if(e.getSource()==b_clear)

{

num_show=num_back=result=0;

oper='+';

pow=1;

point_pressed= oper_pressed=false;

tf.setText("");

}



if(e.getSource()==b0)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+0;

tf.setText(String.valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+0*pow;

tf.setText(String.valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b1)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+1;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+1*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b2)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+2;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+2*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b3)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+3;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+3*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b4)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+4;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+4*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b5)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+5;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+5*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b6)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+6;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+6*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b7)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+7;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+7*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b8)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+8;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+8*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b9)

{

if(this.point_pressed == false)

{

this.num_show=this.num_show*10+9;

tf.setText((new String()).valueOf(this.num_show));

}

if(this.point_pressed == true)

{

this.num_show=this.num_show+9*pow;

tf.setText((new String()).valueOf(this.num_show));

pow=pow/10;

}

}



if(e.getSource()==b_plus)

{

switch(oper)

{

case '+':

this.num_back=this.num_back+this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '-':

this.num_back=this.num_back-this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '*':

this.num_back=this.num_back*this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '/':

this.num_back=this.num_back/this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

}

oper='+';

pow=1;

point_pressed=false;

}



if(e.getSource()==b_minus)

{

switch(oper)

{

case '+':

this.num_back=this.num_back+this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '-':

this.num_back=this.num_back-this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '*':

this.num_back=this.num_back*this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '/':

this.num_back=this.num_back/this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

}

oper='-';

pow=1;

point_pressed=false;

}



if(e.getSource()==b_time)

{

switch(oper)

{

case '+':

this.num_back=this.num_back+this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '-':

this.num_back=this.num_back-this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '*':

this.num_back=this.num_back*this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '/':

this.num_back=this.num_back/this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

}

oper='*';

pow=1;

point_pressed=false;

}



if(e.getSource()==b_divide)

{

switch(oper)

{

case '+':

this.num_back=this.num_back+this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '-':

this.num_back=this.num_back-this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '*':

this.num_back=this.num_back*this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '/':

this.num_back=this.num_back/this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

}

oper='/';

pow=1;

point_pressed=false;

}



if(e.getSource()==b_point)

{

if(point_pressed==false)

{

point_pressed=true;

pow=pow/10;

}

}



if(e.getSource()==b_equal)

{

switch(oper)

{

case '+':

this.num_back=this.num_back+this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '-':

this.num_back=this.num_back-this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '*':

this.num_back=this.num_back*this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

case '/':

this.num_back=this.num_back/this.num_show;

this.num_show=0;

tf.setText((new String()).valueOf(this.num_back));

break;

}

pow=1;

point_pressed=false;

}

}

}



class WinClose extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}


_________________
The God said: " let there be light." I denied. So there be darkness.


最后由 tuliangde 编辑于 2006-10-16 17:18,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-10-16 17:14 

注册: 2006-09-28 15:25
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
执行方法:

安装jdk和jre
$sudo apt-get install sun-java5-jre
$sudo apt-get install sun-java5-jdk

$gedit /home/你的用户名/Desktop/Calculator.java
然后将上面代码拷进去并保存
编译:
$javac /home/你的用户名/Desktop/Calculator.java
编译过后会有两个warning,不用管它,然后用下面命令执行
$java /home/你的用户名/Desktop/ Calculator
出来了,OK~~


页首
 用户资料  
 
3 楼 
 文章标题 : 大的
帖子发表于 : 2006-10-17 10:39 

注册: 2006-07-20 15:44
帖子: 26
送出感谢: 0 次
接收感谢: 0 次
root@zrt-desktop:/home/zrt# javac /home/zrt/Desktop/Calculator.java
注意: /home/zrt/Desktop/Calculator.java 使用或覆盖了已过时的 API。
注意: 要了解详细信息,请使用 -Xlint:deprecation 重新编译。
root@zrt-desktop:/home/zrt# java /home/zrt/Desktop/Calculator
Exception in thread "main" java.lang.NoClassDefFoundError: /home/zrt/Desktop/Calculator
这是怎么回事阿
帮我解决一下
:roll: :roll:


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-10-18 1:58 

注册: 2006-10-18 1:21
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
直接打个jar的包嘛,运行起来不就很方便了,嘿嘿……


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 大的
帖子发表于 : 2006-10-18 13:20 

注册: 2006-09-28 15:25
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
77519697 写道:
root@zrt-desktop:/home/zrt# javac /home/zrt/Desktop/Calculator.java
注意: /home/zrt/Desktop/Calculator.java 使用或覆盖了已过时的 API。
注意: 要了解详细信息,请使用 -Xlint:deprecation 重新编译。
root@zrt-desktop:/home/zrt# java /home/zrt/Desktop/Calculator
Exception in thread "main" java.lang.NoClassDefFoundError: /home/zrt/Desktop/Calculator
这是怎么回事阿
帮我解决一下
:roll: :roll:


环境变量设置的问题.
运行的时候用下面这个命令就可以了
$java -cp /home/zrt/Desktop/ Calculator


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-11-06 22:23 

注册: 2006-11-01 15:10
帖子: 37
送出感谢: 0 次
接收感谢: 0 次
确实挺无聊的!!!!!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译