求源码计算器
发布时间: 2023-07-04 21:05:37
㈠ 求一份java计算器源代码,要有()+-*/和清除键及小数点的,不用科学计算器
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.GridLayout;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.SwingUtilities;
importjavax.swing.UIManager;
{
privateJPaneljp;//中间的面板
privatedoubleresult;//计算结果
privatebooleanstart;//用于判断是否是首次输入,true首次,false不是首次
privatebooleanflag;//用于判断是否清空显示区域的值,true需要,false不需要
privateStringlastCommand;//用于保存运算符
JButtondisplay;//显示区域
publicCalculatorPanel(){
//初始化各项值
result=0;
start=true;
flag=false;
lastCommand="=";
//设置CalculatorPanel这个面板的布局为框架布局
setLayout(newBorderLayout());
//这个按钮用来显示值的区域
display=newJButton("0.0");
display.setEnabled(false);//按钮样式设置为禁用样式
//用来初始化,清除用的
JButtonclear=newJButton("clear");
clear.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//作初始化的操作
result=0;
start=true;
flag=false;
lastCommand="=";
display.setText("0.0");
}
});
jp=newJPanel();
//将此面板布局设置为网格布局,4行4列
jp.setLayout(newGridLayout(4,4));
//实例化监听器对象
NumberActionna=newNumberAction();
CommandActionca=newCommandAction();
makeButton("7",na);
makeButton("8",na);
makeButton("9",na);
makeButton("/",ca);
makeButton("4",na);
makeButton("5",na);
makeButton("6",na);
makeButton("*",ca);
makeButton("1",na);
makeButton("2",na);
makeButton("3",na);
makeButton("-",ca);
makeButton("0",na);
makeButton(".",na);
makeButton("+",ca);
makeButton("=",ca);
//将面板,两个按键加入到我的面板,实现计算器的界面
add(display,BorderLayout.NORTH);
add(jp,BorderLayout.CENTER);
add(clear,BorderLayout.SOUTH);
}
privatevoidmakeButton(StringbuttonName,ActionListeneral){
JButtonjb=newJButton(buttonName);
jp.add(jb);
jb.addActionListener(al);
}
//数字监听器
{
@Override
publicvoidactionPerformed(ActionEvente){
JButtonjb=(JButton)e.getSource();//获取事件源对象
Stringinput=jb.getText();//获取事件源对象上的标签
if(start){//首次输入
//一上就".",就什么也不做
if(input.equals(".")){
return;
}
//如果是"0.0"的话,就清空
if(display.getText().equals("0.0")){
display.setText("");
}
start=false;//改变是否首次输入的标记值
}else{
//判断显示区域的值里面是否已经有".",如果有,输入的又是".",就什么都不做
if(display.getText().indexOf(".")!=-1){
if(input.equals(".")){
return;
}
}
//判断显示区域的值里面只有"-",输入的又是".",就什么都不做
if(display.getText().equals("-")){
if(input.equals(".")){
return;
}
}
//判断显示区域的值如果是"0",输入的不是".",就什么也不做
if(display.getText().equals("0")){
if(!input.equals(".")){
return;
}
}
}
//如果我点击了运算符以后,再输入数字的话,就要清空显示区域的值
if(flag){
display.setText("");
flag=false;//还原初始值,不需要清空
}
display.setText(display.getText()+input);//设置显示区域的值
}
}
//运算符监听器
{
@Override
publicvoidactionPerformed(ActionEvente){
JButtonjb=(JButton)e.getSource();//获取事件源对象
StringinputCommand=jb.getText();//获取事件源对象上的标签
if(start){//首次输入
//一上就是"-"
if(inputCommand.equals("-")){
display.setText("-");//显示区域的内容设置为"-"
start=false;//改变首次输入的标记
}
}else{
if(!flag){//如果flag=false不需要清空显示区的值,就调用方法计算
calculate(Double.parseDouble(display.getText()));//保存显示区域的值,并计算
}
//保存你点击的运算符
lastCommand=inputCommand;
flag=true;//因为我这里已经输入过运算符,
}
}
}
//计算用的方法
privatevoidcalculate(doublex){
if(lastCommand.equals("+")){
result+=x;
}elseif(lastCommand.equals("-")){
result-=x;
}elseif(lastCommand.equals("*")){
result*=x;
}elseif(lastCommand.equals("/")){
result/=x;
}elseif(lastCommand.equals("=")){
result=x;
}
display.setText(""+result);
}
}
classMyFrameUitl{
publicstaticvoidinit(JFramejFrame,DimensionframeSize,Stringtitle,
StringiconFileName,booleanresizable){
Toolkittk=Toolkit.getDefaultToolkit();//系统工具包,可以读取系统信息
DimensionscreenSize=tk.getScreenSize();//获取屏幕大小
//获取宽高
intscreenWidth=screenSize.width;
intscreenHeight=screenSize.height;
//找中心点
intcenterX=screenWidth/2;
intcenterY=screenHeight/2;
//解析窗体大小
intframeWidth=frameSize.width;
intframeHeight=frameSize.height;
//设置窗体位置
jFrame.setBounds(centerX-frameWidth/2,centerY-frameHeight/2,
frameWidth,frameHeight);
jFrame.setTitle(title);//设置标题
if(iconFileName!=null){
jFrame.setIconImage(tk.getImage(iconFileName));//设置图标
}
//设置皮肤com.sun.java.swing.plaf.windows.WindowsLookAndFeel
/**/
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(jFrame);
}catch(Exceptione1){
e1.printStackTrace();
}
jFrame.setResizable(resizable);//设置窗体是否可以改变大小
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置程序关闭动作
jFrame.setVisible(true);//显示窗体
}
}
{
publicCalculatorFrame(){
add(newCalculatorPanel());
MyFrameUitl.init(this,newDimension(400,300),"简易计算器",null,
false);
this.pack();//让组件按原始大小显示,并且窗体的大小刚好能够容纳所有的组件
}
}
publicclassCalculatorTest{
publicstaticvoidmain(String[]args){
newCalculatorFrame();
}
}
运行结果:
㈡ 如何查看电脑上某程序的源代码 如计算器
可以通过GitHub源代码ping在计算机中检查计算器的源代码。具体操作方式如下:
1、进入GitHub的Microsoft个人问题主页,如下图所示。
(2)求源码计算器扩展阅读:
GitHub的Windows应用
GitHub 使用 git 分布式版本控制系统,而 git 最初是 LinusTorvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像Windows。
GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。
GitHub forWindows是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。
GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。
热点内容