当前位置:首页 > 代码 > 正文

亲戚计算器源代码(计算亲戚的计算器)[20240424更新]

admin 发布:2024-04-24 18:35 144


本篇文章给大家谈谈亲戚计算器源代码,以及计算亲戚的计算器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

亲戚计算器代码,算亲戚称呼的 java

亲,自己去找吧,app名字叫:三姑六婆

希望能帮到你,还请采纳哦

如何查看电脑上某程序的源代码 如计算器

可以通过GitHub源代码pingbai在计算机中检查计算器的源代码。具体操作方式如下:

1、进入GitHub的Microsoft个人问题主页,如下图所示。

2、搜索计算器,如下图所示。

3、进入计算器的项目主页,点击下载按钮下载源代码,如下图所示。

4、保存源压缩文件并用visual studio打开它。

扩展资料:

GitHub的Windows应用

GitHub 使用 git 分布式版本控制系统,而 git 最初是 LinusTorvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。

GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。

GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。

GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。

计算器源代码

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

/**

* 一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。

* 但还不支持键盘操作。

*/

public class Calculator extends JFrame implements ActionListener {

/** 计算器上的键的显示名字 */

private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6",

"*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };

/** 计算器上的功能键的显示名字 */

private final String[] COMMAND = { "Backspace", "CE", "C" };

/** 计算器左边的M的显示名字 */

private final String[] M = { " ", "MC", "MR", "MS", "M+" };

/** 计算器上键的按钮 */

private JButton keys[] = new JButton[KEYS.length];

/** 计算器上的功能键的按钮 */

private JButton commands[] = new JButton[COMMAND.length];

/** 计算器左边的M的按钮 */

private JButton m[] = new JButton[M.length];

/** 计算结果文本框 */

private JTextField resultText = new JTextField("0");

// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

private boolean firstDigit = true;

// 计算的中间结果。

private double resultNum = 0.0;

// 当前运算的运算符

private String operator = "=";

// 操作是否合法

private boolean operateValidFlag = true;

/**

* 构造函数

*/

public Calculator(){

super();

//初始化计算器

init();

//设置计算器的背景颜色

this.setBackground(Color.LIGHT_GRAY);

this.setTitle("计算器");

//在屏幕(500, 300)坐标处显示计算器

this.setLocation(500, 300);

//不许修改计算器的大小

this.setResizable(false);

//使计算器中各组件大小合适

this.pack();

}

/**

* 初始化计算器

*/

private void init() {

// 文本框中的内容采用右对齐方式

resultText.setHorizontalAlignment(JTextField.RIGHT);

// 不允许修改结果文本框

resultText.setEditable(false);

// 设置文本框背景颜色为白色

resultText.setBackground(Color.WHITE);

//初始化计算器上键的按钮,将键放在一个画板内

JPanel calckeysPanel = new JPanel();

//用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3));

for (int i = 0; i KEYS.length; i++) {

keys[i] = new JButton(KEYS[i]);

calckeysPanel.add(keys[i]);

keys[i].setForeground(Color.blue);

}

//运算符键用红色标示,其他键用蓝色表示

keys[3].setForeground(Color.red);

keys[8].setForeground(Color.red);

keys[13].setForeground(Color.red);

keys[18].setForeground(Color.red);

keys[19].setForeground(Color.red);

//初始化功能键,都用红色标示。将功能键放在一个画板内

JPanel commandsPanel = new JPanel();

//用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

commandsPanel.setLayout(new GridLayout(1, 3, 3, 3));

for (int i = 0; i COMMAND.length; i++) {

commands[i] = new JButton(COMMAND[i]);

commandsPanel.add(commands[i]);

commands[i].setForeground(Color.red);

}

//初始化M键,用红色标示,将M键放在一个画板内

JPanel calmsPanel = new JPanel();

//用网格布局管理器,5行,1列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calmsPanel.setLayout(new GridLayout(5, 1, 3, 3));

for (int i = 0; i M.length; i++) {

m[i] = new JButton(M[i]);

calmsPanel.add(m[i]);

m[i].setForeground(Color.red);

}

//下面进行计算器的整体布局,将calckeys和command画板放在计算器的中部,

//将文本框放在北部,将calms画板放在计算器的西部。

//新建一个大的画板,将上面建立的command和calckeys画板放在该画板内

JPanel panel1 = new JPanel();

//画板采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为3象素

panel1.setLayout(new BorderLayout(3, 3));

panel1.add("North", commandsPanel);

panel1.add("Center", calckeysPanel);

//建立一个画板放文本框

JPanel top = new JPanel();

top.setLayout(new BorderLayout());

top.add("Center", resultText);

//整体布局

getContentPane().setLayout(new BorderLayout(3, 5));

getContentPane().add("North", top);

getContentPane().add("Center", panel1);

getContentPane().add("West", calmsPanel);

//为各按钮添加事件侦听器

//都使用同一个事件侦听器,即本对象。本类的声明中有implements ActionListener

for (int i = 0; i KEYS.length; i++) {

keys[i].addActionListener(this);

}

for (int i = 0; i COMMAND.length; i++) {

commands[i].addActionListener(this);

}

for (int i = 0; i M.length; i++) {

m[i].addActionListener(this);

}

}

/**

* 处理事件

*/

public void actionPerformed(ActionEvent e) {

//获取事件源的标签

String label = e.getActionCommand();

if (label.equals(COMMAND[0])){

//用户按了"Backspace"键

handleBackspace();

} else if (label.equals(COMMAND[1])) {

//用户按了"CE"键

resultText.setText("0");

} else if (label.equals(COMMAND[2])){

//用户按了"C"键

handleC();

} else if ("0123456789.".indexOf(label) = 0) {

//用户按了数字键或者小数点键

handleNumber(label);

// handlezero(zero);

} else {

//用户按了运算符键

handleOperator(label);

}

}

/**

* 处理Backspace键被按下的事件

*/

private void handleBackspace() {

String text = resultText.getText();

int i = text.length();

if (i 0) {

//退格,将文本最后一个字符去掉

text = text.substring(0, i - 1);

if (text.length() == 0) {

//如果文本没有了内容,则初始化计算器的各种值

resultText.setText("0");

firstDigit = true;

operator = "=";

} else {

//显示新的文本

resultText.setText(text);

}

}

}

/**

* 处理数字键被按下的事件

* @param key

*/

private void handleNumber(String key) {

if (firstDigit) {

//输入的第一个数字

resultText.setText(key);

} else if ((key.equals(".")) (resultText.getText().indexOf(".") 0)){

//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面

resultText.setText(resultText.getText() + ".");

} else if (!key.equals(".")) {

//如果输入的不是小数点,则将数字附在结果文本框的后面

resultText.setText(resultText.getText() + key);

}

//以后输入的肯定不是第一个数字了

firstDigit = false;

}

/**

* 处理C键被按下的事件

*/

private void handleC() {

//初始化计算器的各种值

resultText.setText("0");

firstDigit = true;

operator = "=";

}

/**

* 处理运算符键被按下的事件

* @param key

*/

private void handleOperator(String key) {

if (operator.equals("/")) {

//除法运算

//如果当前结果文本框中的值等于0

if (getNumberFromText() == 0.0){

//操作不合法

operateValidFlag = false;

resultText.setText("除数不能为零");

} else {

resultNum /= getNumberFromText();

}

} else if (operator.equals("1/x")) {

//倒数运算

if (resultNum == 0.0){

//操作不合法

operateValidFlag = false;

resultText.setText("零没有倒数");

} else {

resultNum = 1 / resultNum;

}

} else if (operator.equals("+")){

//加法运算

resultNum += getNumberFromText();

} else if (operator.equals("-")){

//减法运算

resultNum -= getNumberFromText();

} else if (operator.equals("*")){

//乘法运算

resultNum *= getNumberFromText();

} else if (operator.equals("sqrt")) {

//平方根运算

resultNum = Math.sqrt(resultNum);

} else if (operator.equals("%")){

//百分号运算,除以100

resultNum = resultNum / 100;

} else if (operator.equals("+/-")){

//正数负数运算

resultNum = resultNum * (-1);

} else if (operator.equals("=")){

//赋值运算

resultNum = getNumberFromText();

}

if (operateValidFlag) {

//双精度浮点数的运算

long t1;

double t2;

t1 = (long) resultNum;

t2 = resultNum - t1;

if (t2 == 0) {

resultText.setText(String.valueOf(t1));

} else {

resultText.setText(String.valueOf(resultNum));

}

}

//运算符等于用户按的按钮

operator = key;

firstDigit = true;

operateValidFlag = true;

}

/**

* 从结果文本框中获取数字

* @return

*/

private double getNumberFromText() {

double result = 0;

try {

result = Double.valueOf(resultText.getText()).doubleValue();

} catch (NumberFormatException e){

}

return result;

}

public static void main(String args[]) {

Calculator calculator1 = new Calculator();

calculator1.setVisible(true);

calculator1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

亲戚称呼计算器java代码

计算器java代码

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

class CalculatorPanel extends JPanel {

private JPanel jp; // 中间的面板

private double result; // 计算结果

private boolean start; // 用于判断是否是首次输入,true首次,false不是首次

private boolean flag; // 用于判断是否清空显示区域的值,true需要,false不需要

private String lastCommand; // 用于保存运算符

JButton display; // 显示区域

public CalculatorPanel() {

// 初始化各项值

result = 0;

start = true;

flag = false;

lastCommand = "=";

// 设置CalculatorPanel这个面板的布局为框架布局

setLayout(new BorderLayout());

// 这个按钮用来显示值的区域

display = new JButton("0.0");

display.setEnabled(false);// 按钮样式设置为禁用样式

// 用来初始化,清除用的

JButton clear = new JButton("clear");

clear.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// 作初始化的操作

result = 0;

start = true;

flag = false;

lastCommand = "=";

display.setText("0.0");

}

});

jp = new JPanel();

// 将此面板布局设置为网格布局,4行4列

jp.setLayout(new GridLayout(4, 4));

// 实例化监听器对象

NumberAction na = new NumberAction();

CommandAction ca = new CommandAction();

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

}

private void makeButton(String buttonName, ActionListener al) {

JButton jb = new JButton(buttonName);

jp.add(jb);

jb.addActionListener(al);

}

// 数字监听器

private class NumberAction implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

JButton jb = (JButton) e.getSource(); // 获取事件源对象

String input = 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);// 设置显示区域的值

}

}

// 运算符监听器

private class CommandAction implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

JButton jb = (JButton) e.getSource(); // 获取事件源对象

String inputCommand = 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;// 因为我这里已经输入过运算符,

}

}

}

// 计算用的方法

private void calculate(double x) {

if (lastCommand.equals("+")) {

result += x;

} else if (lastCommand.equals("-")) {

result -= x;

} else if (lastCommand.equals("*")) {

result *= x;

} else if (lastCommand.equals("/")) {

result /= x;

} else if (lastCommand.equals("=")) {

result = x;

}

display.setText("" + result);

}

}

class MyFrameUitl {

public static void init(JFrame jFrame, Dimension frameSize, String title,

String iconFileName, boolean resizable) {

Toolkit tk = Toolkit.getDefaultToolkit(); // 系统工具包,可以读取系统信息

Dimension screenSize = tk.getScreenSize();// 获取屏幕大小

// 获取宽高

int screenWidth = screenSize.width;

int screenHeight = screenSize.height;

// 找中心点

int centerX = screenWidth / 2;

int centerY = screenHeight / 2;

// 解析窗体大小

int frameWidth = frameSize.width;

int frameHeight = 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 (Exception e1) {

e1.printStackTrace();

}

jFrame.setResizable(resizable);// 设置窗体是否可以改变大小

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置程序关闭动作

jFrame.setVisible(true);// 显示窗体

}

}

class CalculatorFrame extends JFrame {

public CalculatorFrame() {

add(new CalculatorPanel());

MyFrameUitl.init(this, new Dimension(400, 300), "简易计算器", null,

false);

this.pack();// 让组件按原始大小显示,并且窗体的大小刚好能够容纳所有的组件

}

}

public class CalculatorTest {

public static void main(String[] args) {

new CalculatorFrame();

}

}

运行效果:

C语言 电子计算器 源代码

#include stdio.h

double add(double a,double b)

{

double s;

s=a+b;

return s;

}

double sub(double a,double b)

{

double s;

s=a-b;

return s;

}

double multi(double a,double b)

{

double s;

s=a*b;

return s;

}

double div(double a,double b)

{

double s;

s=a/b;

return s;

}

double power(double a,double b)

{

int i=0;

double s=1.0;

if(b==0)

return s=1;

else

{

for (i=1;i=b;i++)

s*=a;

return s;

}

}

double mod(double a,double b)

{

int s;

s=(int)a%(int)b;

return s;

}

void main(void)

{

double a,b;

char c;

double sum;

scanf("%lf,%c,%lf",a,c,b);

printf("%lf,%c,%lf\n",a,c,b);

switch(c)

{

case '+':sum=add(a,b);

break;

case '-':sum=sub(a,b);

break;

case '*':sum=multi(a,b);

break;

case '/':sum=div(a,b);

break;

case '^':sum=power(a,b);

break;

case '%':sum=mod(a,b);

break;

default:printf("input is error!");

}

if(c=='%')

printf("sum=%d",sum);

else

printf("sum=%lf",sum);

getch();

}

亲戚计算器源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于计算亲戚的计算器、亲戚计算器源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/468.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载