这是一款使用Java语言编写的简单计算器应用程序,能够执行基本的数学运算如加、减、乘、除,并为编程学习者提供一个实践项目模板。
package chapter11_3;
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.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator extends JFrame implements ActionListener {
private String[] str = { 7, 8, 9, /, sqrt, 4, 5, 6, *, %,
1, 2, 3, -, 1/x, 0, +/-, ., + };
private JTextField tf_out;
private JButton jb_bk, jb_ce, jb_c;
private JButton[] jb_key;
private char ch = #; // 修正了这里的注释符号
private boolean can = false;
private double num1;
public void creatGUI() {
tf_out = new JTextField();
tf_out.setHorizontalAlignment(JTextField.RIGHT);
tf_out.setColumns(18);
tf_out.setEditable(false);
this.add(tf_out, BorderLayout.NORTH);
JPanel p = new JPanel(new BorderLayout(3, 8));
JPanel p1 = new JPanel(new GridLayout(1, 3, 3, 10));
p.add(p1,North);
jb_bk = new JButton(Backspace);
jb_bk.setForeground(Color.RED);
jb_ce = new JButton(CE);
jb_ce.setForeground(Color.RED);
jb_c = new JButton(C);
jb_c.setForeground(Color.RED);
for (int i = 0; i < str.length; i++) {
final int index = i;
if(i == 3 ||i ==8||i==13||i==18){
jb_key[i] = new JButton(str[index]);
jb_key[i].setForeground(Color.RED);
}else{
jb_key[i]=new JButton(str[index]);
jb_key[i].setForeground(Color.BLACK);
}
}
p.add(p1,North);
for(int i=0;i
优质
这是一款使用Java语言开发的基础计算器程序,能够执行加减乘除等基本运算。适合编程学习者和开发者作为入门级项目参考与实践。
用Java语言实现的一个简单计算器程序,支持加减乘除运算、小数处理以及带括号的表达式计算功能,但不包括负数操作。该程序具备用户界面,并提供了使用方法介绍。算法设计较为基础简洁,由于测试范围有限,可能存在一些未被发现的小错误或问题。
优质
ElGamal-API 是一个具有加法同态性质的 ElGamal 加密算法实现。此实现允许在加密数据上执行特定操作,从而支持安全的数据处理和分析。
Elgamal-api 是一个具备加法同态性质的 ElGamal 加密实现方案。该加密方法由三个主要部分组成:密钥生成器、加密算法以及解密算法。
**密钥生成**
1. 爱丽丝使用生成元 g 产生 q 阶循环群 G 的有效描述。
2. 接下来,爱丽丝从集合 {1, …, q-1} 中随机选取一个值 x。
3. 利用上述选择的 x 值计算 h = g ^ x。
4. 爱丽丝公开发布 (G, q, g) 和她计算出的 h 作为她的公钥,而将私有的 x 保留为自己的秘密密钥。
**加密**
1. 当鲍勃想要向爱丽丝发送消息 m 时,他使用爱丽丝公布的公钥(即 G、q、g 和 h)来生成密文。
2. 首先,鲍勃从集合 {1, …, q-1} 中随机选取一个值 y,并计算出 c1 = g ^ y。
3. 接着,他利用爱丽丝的公钥中的 h 计算共享秘密 s = h ^ y 或等价地表示为 g ^ xy。
4. 然后鲍勃将消息 m 映射到群 G 的一个元素上,并计算出 c2 = m * s(这里使用了加法同态性质)。
5. 最终,鲍勃生成的密文是 (c1, c2) 形式,即 (g^y, m*g^(xy))。