求java简单计算器源代码

求java简单计算器源代码,第1张

/

/

import javaawt;

import javaawtevent;

import javaxswing;

import javautilVector;

public class Tuo

{

String str1="0"; //运算数1 初值一定为0 为了程序的安全

String str2="0"; //运算数2

String fh="+"; //运算符

String jg="";//结果

//状态开关 重要

int k1=1;//开关1 用于选择输入方向 将要写入str2或 str2

int k2=1;//开关2 符号键 次数 k2>1说明进行的是2+3-9+8 这样的多符号运算

int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0

int k4=1;//开关4 str2 同上

int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉

JButton jicunqi; //寄存器 记录 是否连续按下符号键

Vector vt=new Vector(20,10);

JFrame frame=new JFrame("sunshine---计算器");

JTextField jg_TextField=new JTextField(jg,20);//20列

JButton clear_Button=new JButton("清除");

JButton button0=new JButton("0");

JButton button1=new JButton("1");

JButton button2=new JButton("2");

JButton button3=new JButton("3");

JButton button4=new JButton("4");

JButton button5=new JButton("5");

JButton button6=new JButton("6");

JButton button7=new JButton("7");

JButton button8=new JButton("8");

JButton button9=new JButton("9");

JButton button_Dian=new JButton("");

JButton button_jia=new JButton("+");

JButton button_jian=new JButton("-");

JButton button_cheng=new JButton("");

JButton button_chu=new JButton("/");

JButton button_dy=new JButton("=");

////////////////////////////////////////////////////////////////////////

public static void main(String[] args)

{

Tuo tuo=new Tuo();

}

/////////////////////////////////////////////////////////////////////////

Tuo()

{

button0setMnemonic(KeyEventVK_0);//等效键

//其它 等效键 略,

jg_TextFieldsetHorizontalAlignment(JTextFieldRIGHT );//文本框 右对齐

JPanel pan=new JPanel();

pansetLayout(new GridLayout(4,4,5,5));//四行四列 边距为5像素

panadd(button7);

panadd(button8);

panadd(button9);

panadd(button_chu);

panadd(button4);

panadd(button5);

panadd(button6);

panadd(button_cheng);

panadd(button1);

panadd(button2);

panadd(button3);

panadd(button_jian);

panadd(button0);

panadd(button_Dian);

panadd(button_dy);

panadd(button_jia);

pansetBorder(BorderFactorycreateEmptyBorder(5,5,5,5));//pan对象的边距

JPanel pan2=new JPanel();

pan2add(jg_TextField);

JPanel pan3=new JPanel(); //为什么要 多此一句呢? 因为我不会设置 按钮的大小

pan3setLayout(new FlowLayout());

pan3add(clear_Button);

//clear_ButtonsetSize(10,10);//设置清零按钮的大小 吗的 不好使 !!

framesetLocation(300, 200); //主窗口 出现在位置

framesetResizable(false); //不能调大小

framegetContentPane()setLayout(new BorderLayout());

framegetContentPane()add(pan2,BorderLayoutNORTH);

framegetContentPane()add(pan,BorderLayoutCENTER);

framegetContentPane()add(pan3,BorderLayoutSOUTH);

framepack();

framesetVisible(true);

//以上是 控件 和 布局

//下面是事件处理 程 序

//--------------- 数 字 键 ----------------

class JianTing implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

String ss=((JButton)egetSource())getText();

jicunqi=(JButton)egetSource();

vtadd(jicunqi);

if (k1==1)

{

if(k3==1)

{

str1="";

k5=1;//还原开关k5状态

}

str1=str1+ss;

//k2=1;

k3=k3+1;

//Systemoutprintln(str1);

jg_TextFieldsetText(str1);//显示

}

else if(k1==2)

{

if (k4==1)

{

str2="";

k5=1; //还原开关k5状态

}

str2=str2+ss;

//k2=2;

k4=k4+1;

///////////////测试////////////////

jg_TextFieldsetText(str2);

}

}

}

//--------符 号-----------

class JianTing_fh implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

String ss2=((JButton)egetSource())getText();

jicunqi=(JButton)egetSource();

vtadd(jicunqi);

if(k2==1)

{

k1=2;//开关 k1 为1时,向数1写 为2时,向数2写

k5=1;

fh=ss2;

k2=k2+1;//按符号键的次数

}

else

{

int a=vtsize();

JButton c=(JButton)vtget(a-2);

if(!(cgetText()equals("+"))&&!(cgetText()equals("-"))&&!(cgetText()equals(""))&&!(cgetText()equals("/")))

//if(!(vtget(a-2)getText()equals("-"))||!(vtget(a-2)getText()equals("+"))||!(vtget(a-2)getText()equals(""))||!(vtget(a-2)getText()equals("/")))

{ yuns();

str1=jg;

k1=2;//开关 k1 为1时,向数1写 为2时,向数2写

k5=1;

k4=1;

fh=ss2;

} k2=k2+1;

}

}

}

//--------清除-------

class JianTing_clear implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

jicunqi=(JButton)egetSource();

vtadd(jicunqi);

k5=1;

k2=1;

k1=1;

k3=1;

k4=1;

str1="0";

str2="0";

fh="";

jg="";

jg_TextFieldsetText(jg);

vtclear();

}

}

//----------------等 于 ---------------------

class JianTing_dy implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

jicunqi=(JButton)egetSource();

vtadd(jicunqi);

yuns();

k1=1; //还原开关k1状态

//str1=jg;

k2=1;

k3=1;//还原开关k3状态

k4=1; //还原开关k4状态

str1=jg; //为7+5=12 +5=17 这种计算做准备

}

}

//----------------小数点 ---------------------

class JianTing_xiaos implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

jicunqi=(JButton)egetSource();

vtadd(jicunqi);

if(k5==1)

{

String ss2=((JButton)egetSource())getText();

if (k1==1)

{

if(k3==1)

{

str1="";

k5=1; //还原开关k5状态

}

str1=str1+ss2;

//k2=1;

k3=k3+1;

//Systemoutprintln(str1);

jg_TextFieldsetText(str1);//显示

}

else if(k1==2)

{

if (k4==1)

{

str2="";

k5=1; //还原开关k5状态

}

str2=str2+ss2;

//k2=2;

k4=k4+1;

///////////////测试////////////////

jg_TextFieldsetText(str2);

}

}

k5=k5+1; //

}

}

//注册 监听器

JianTing_dy jt_dy=new JianTing_dy();

JianTing jt= new JianTing();//临听数字键

JianTing_fh jt_fh= new JianTing_fh();//临 听符 号键

JianTing_clear jt_c=new JianTing_clear(); //清除键

JianTing_xiaos jt_xs=new JianTing_xiaos();// 小数点 键

button7addActionListener(jt);

button8addActionListener(jt);

button9addActionListener(jt);

button_chuaddActionListener(jt_fh);

button4addActionListener(jt);

button5addActionListener(jt);

button6addActionListener(jt);

button_chengaddActionListener(jt_fh);

button1addActionListener(jt);

button2addActionListener(jt);

button3addActionListener(jt);

button_jianaddActionListener(jt_fh);

button0addActionListener(jt);

button_DianaddActionListener(jt_xs);

button_dyaddActionListener(jt_dy);

button_jiaaddActionListener(jt_fh);

clear_ButtonaddActionListener(jt_c);

//关闭事件处理程序

frameaddWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

Systemexit(0);

}

});

}

//---------------计 算------------------

public void yuns()

{

double a2;//运算数1

double b2;//运算数2

String c=fh;// 运算符

double jg2=0 ;//结果

if (cequals(""))

{

//Systemoutprintln("请输入运算符");

jg_TextFieldsetText("请输入运算符");

}

else

{

Systemoutprintln("str1:"+str1);//调试时 使 用

Systemoutprintln("str2:"+str2);//调试时 使 用

Systemoutprintln("运算符:"+fh);//调试时 使 用

if (str1equals("")) //字符串 "" 转换成double型数据时 会出错 所以手工转

str1="00";

if (str2equals(""))

str2="00";

a2=DoublevalueOf(str1)doubleValue();

b2=DoublevalueOf(str2)doubleValue();

Systemoutprintln("double型的a2:"+a2); //调试时 使 用

Systemoutprintln("double型的b2:"+b2); //调试时 使 用

if (cequals("+"))

{

jg2=a2+b2;

}

if (cequals("-"))

{

jg2=a2-b2;

}

if (cequals(""))

{

jg2=a2b2;

}

if (cequals("/"))

{

if(b2==0)

{

jg2=0;//0000000000000 by 0 cu!

}

else

{

jg2=a2/b2;

}

}

Systemoutprintln("double型a2"+fh+"b2结果:"+jg2);

Systemoutprintln();

jg=((new Double(jg2))toString());

jg_TextFieldsetText(jg);

}

}

}

Util是utiliy的缩写,是一个多功能、基于工具的包。

javautil是包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。

Java的实用工具类库javautil包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

扩展资料

1、JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。

2、不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK。

3、另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境 。

4、JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

参考资料:

百度百科——javautil

如何把wed分享不是小程序:变通的方法,就是将小程序转成带有小程序码的,将分享到朋友圈。好友通过长按识别上的小程序码,直接进入小程序具体的页面,包括首页。大家可以打开软件开发记这个小程序,随便找一篇文章使用下面的海报功能,体验这个过程。

if (!FileUpload1Exists(savePath))

{

ResponseWrite("对不起!文件不存在!!");

return;

}

这里的FileUpload1,是不是应该写成FileExists,FileUpload1看上去像是控件名称,而对服务器上的文件检查应用的File类。请核实。而FileUpload控件只是用来上传文件的,并不可能对已经存在于服务器上的文件进行访问。

下载代码,可以参考如下:

/// <summary>

/// 下载文件

/// </summary>

/// <param name="path">文件路径</param>

public void downLoad(string path)

{

try

{

string filePath = path;

int temp = filePathLastIndexOf("/") + 1;

string fileName = filePathSubstring(temp, filePathLength - temp);

//FileStream fileStream = new FileStream(ServerMapPath(filePath), FileModeOpen, FileAccessRead, FileShareRead);

FileStream fileStream = new FileStream(filePath, FileModeOpen, FileAccessRead, FileShareRead);

long fileSize = fileStreamLength;

ContextResponseContentType = "application/octet-stream";

ContextResponseAddHeader("Content-Disposition", "attachment; filename=\"" + >

有这种桌面小程序的,你搜下应该好找的。

我先给你发个VBS脚本程序,等有时间了,写个好点的。

'脚本开始

Set objShell = WScriptCreateObject("WScriptShell")

j = 120 '工作时间(分钟)

n = 10 '休息时间(分钟)

alertText = "休息一下,听听音乐" & Chr(10) & "活动一下脖子,腰部。" & Chr(10) & "生命在于运动!!" '提醒内容,Chr(10)为换行符

alertText2 = n&"分钟休息时间到了,继续工作!"

strSoundFile = "D:\Music\MyMusicwpl" '自动播放列表地址

strCommand = "wmplayerexe /prefetch:1 /Task MediaLibrary " & Chr(34) & strSoundFile & Chr(34) '播放音乐

strCommand2 = "taskkill /im wmplayerexe" '关闭音乐程序

For i = 1 To 12 '12为提醒的次数

WScriptSleep(1000 60 j)

MsgBox alertText, 64

objShellRun strCommand, 1, False

WScriptSleep(1000 60 n)

objShellRun strCommand2, 0, True

MsgBox alertText2, 64

Next

使用方法:

1 将代码保存为:Ringvbs (文件名可自定)

2 将Ringvbs移动到程序启动组,这样可以随WINDOWS自动启动了(位置是:开始--程序--启动,XP的启动组位置是:C:\Documents and Settings\你的用户名\「开始」菜单\程序\启动\)

3 我这里使用的是Window自带的Media Player播放音乐,所以先打开您的Media Player,将“正在播放列表”另存到D:\Music\MyMusicwpl(保存路径可以自定,但要在下在的代码中修改strSoundFile的路径),以后你只要打开电脑就可以自动提醒了!

注意:如果你使用的是Winamp播放音乐,则必有把路径改为Winamp的播放列表文件地址,以及strCommand和strCommand2的值如:

strCommand = "C:\Program Files\Winamp\winampexe /prefetch:1 /Task MediaLibrary " & Chr(34) & strSoundFile & Chr(34) '播放音乐

strCommand2 = "taskkill /im winampexe" '关闭音乐程序

可以

if (uaindexof('MicroMessage') == -1) {

//说明不在微信中

// 走不在小程序的逻辑

} else {

wxminiProgramgetEnv(function(res) {

if (resminiProgram) {

// 走在小程序的逻辑

} else {

// 走不在小程序的逻辑

}

})

}

import javaioIOException;

import javaioRandomAccessFile;

public class TestMain {

public static void main(String[] args) {

//原文件路径

String path1 = "F:/1txt";

//新文件路径

String path2 = "F:/2txt";

RandomAccessFile raf1 = null;

RandomAccessFile raf2 = null;

String line = null;

try {

raf1 = new RandomAccessFile(path1, "r");

raf2 = new RandomAccessFile(path2, "rw");

while ((line = raf1readLine()) != null) {

int start = lineindexOf("EMAIL");

int end = lineindexOf("OU=");

String a = linesubstring(start, end);

String b = areplace("ADDRESS", "");

line = linereplace(a, "");

line = b + line;

raf2write(linegetBytes());

raf2write('\n');

}

} catch (Exception e) {

eprintStackTrace();

} finally {

try {

raf1close();

raf2close();

} catch (IOException e) {

eprintStackTrace();

}

}

}

}

以上就是关于求java简单计算器源代码全部的内容,包括:求java简单计算器源代码、想问一下:java.util中,util是什么意思谢谢、如何把wed分享不是小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10113427.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存