用JAVA編寫的傻瓜計算器
作用:
1.可以實現(xiàn)加法、減法、乘法、除法簡單運(yùn)算且是單一運(yùn)算,不可混合使用。
2.CE為清除鍵
3.沒有小數(shù)點O(∩_∩)O
思路:
創(chuàng)建JFrame窗口,設(shè)置標(biāo)題,創(chuàng)建JButton,創(chuàng)建文本框JTextField用作顯示。
先定義各種按鈕類型,用作成員。定義窗口方法對窗口進(jìn)行設(shè)置。定義按鈕事件方法,每個按鈕的
每次點下在文本框都會進(jìn)行打印。以運(yùn)算符為界限對字符串進(jìn)行分割,并把分割后的字符串放入新
建的數(shù)組當(dāng)中。對字符串?dāng)?shù)組內(nèi)容訪問轉(zhuǎn)換為整數(shù)類型,進(jìn)行運(yùn)算。運(yùn)算的結(jié)果為double類型的并
把結(jié)果打印到文本框中。
成品:
?代碼實現(xiàn):
package test1;
import javax.print.attribute.standard.JobMessageFromOperator;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
public class Window extends JFrame{
private JButton ADD=new JButton("+");
private JButton SUB=new JButton("-");
private JButton SUM=new JButton("x");
private JButton DIV=new JButton("/");
private JButton l=new JButton("0");
private JButton y=new JButton("1");
private JButton e=new JButton("2");
private JButton s=new JButton("3");
private JButton s4=new JButton("4");
private JButton w=new JButton("5");
private JButton l6=new JButton("6");
private JButton q=new JButton("7");
private JButton b=new JButton("8");
private JButton j=new JButton("9");
private JButton dengyu=new JButton("=");
private JButton qingchu=new JButton("CE");
private JTextField jt=new JTextField();
private String shuju;
public Window(){
window();
addJb();
addjt();
add();
this.setVisible(true);
}
public void window(){
//窗體大小
this.setSize(570,550);
//窗體標(biāo)題
this.setTitle("傻瓜計算器");
//解除窗體的默認(rèn)設(shè)置
this.setLayout(null);
//窗體關(guān)閉程序停止
this.setDefaultCloseOperation(3);
//窗體位于屏幕中央
this.setLocationRelativeTo(null);
}
//按鈕大小位置設(shè)置
public void addJb(){
ADD.setBounds(350,150,90,90);
ADD.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(ADD);
SUB.setBounds(450,150,90,90);
SUB.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(SUB);
SUM.setBounds(350,250,90,90);
SUM.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(SUM);
DIV.setBounds(450,250,90,90);
DIV.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(DIV);
y.setBounds(10,150,90,90);
y.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(y);
e.setBounds(110,150,90,90);
e.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(e);
s.setBounds(210,150,90,90);
s.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(s);
s4.setBounds(10,250,90,90);
s4.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(s4);
w.setBounds(110,250,90,90);
w.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(w);
l6.setBounds(210,250,90,90);
l6.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(l6);
q.setBounds(10,350,90,90);
q.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(q);
b.setBounds(110,350,90,90);
b.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(b);
j.setBounds(210,350,90,90);
j.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(j);
dengyu.setBounds(10,450,530,50);
dengyu.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(dengyu);
qingchu.setBounds(450,350,90,90);
qingchu.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(qingchu);
l.setBounds(350,350,90,90);
l.setFont(new Font("宋體", Font.PLAIN, 50));
this.add(l);
}
//文本框設(shè)置
public void addjt(){
jt.setBounds(10,50,530,80);
jt.setFont(new Font("宋體", Font.PLAIN, 40));
this.add(jt);
}
//添加按鈕事件
public void add(){
y.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("1");
}
});
e.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("2");
}
});
qingchu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// jt.setText(jt.getText().substring(0, jt.getText().length() - 1));
jt.setText("");
}
});
s.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("3");
}
});
s4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("4");
}
});
w.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("5");
}
});
l6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("6");
}
});
q.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("7");
}
});
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("8");
}
});
j.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("9");
}
});
l.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("0");
}
});
ADD.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("+");
}
});
SUB.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("-");
}
});
SUM.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("x");
}
});
DIV.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
number("/");
}
});
dengyu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
deng();
}
});
}
//按鈕輸出數(shù)字方法
public void number(String a){
jt.setText(jt.getText() + a);
}
//等號運(yùn)算方法
public void deng(){
//讀取文本框字符串
String str=jt.getText();
//字符串拆成字符
char [] ch=str.toCharArray();
String[] ing=new String[ch.length];
int[] a=new int[ing.length];
double sum=0;
for(int i=0;i<ch.length;i++){
if(ch[i]=='+'){
ing=str.split("+");
for (int j = 0; j <ing.length ; j++) {
a[j]=Integer.parseInt(ing[j]);
}
for(int k=0;k<a.length;k++){
if(a[k]!=0){
sum+=a[k];
}
}
jt.setText(String.valueOf(sum));
}
else if (ch[i]=='-'){
ing=str.split("-");
for (int j = 0; j <ing.length ; j++) {
a[j]=Integer.parseInt(ing[j]);
}
for(int k=1;k<a.length;k++){
if(a[k]!=0){
sum=a[0];
sum-=a[k];
}
}
jt.setText(String.valueOf(sum));
}
else if (ch[i]=='x'){
ing=str.split("x");
for (int j = 0; j <ing.length ; j++) {
a[j]=Integer.parseInt(ing[j]);
}
for(int k=1;k<a.length;k++){
if(a[k]!=0){
sum=a[0];
sum*=a[k];
}
}
jt.setText(String.valueOf(sum));
}
else if (ch[i]=='/'){
ing=str.split("/");
for (int j = 0; j <ing.length ; j++) {
a[j]=Integer.parseInt(ing[j]);
}
for(int k=1;k<a.length;k++){
if(a[k]!=0){
sum=a[0];
sum/=a[k];
}
}
jt.setText(String.valueOf(sum));
}
}
}
}
PS:文章來源:http://www.zghlxwxcb.cn/news/detail-503816.html
初來乍到的小白一枚,里邊運(yùn)用到了窗口、組件、監(jiān)視器。初學(xué)者可以簡單參考一下。順便加深一下知識點的印象。學(xué)習(xí)就應(yīng)該循序漸進(jìn),一步一個腳印來。里邊多少會有些問題希望在你們手里可以得到改進(jìn),同時你也可以學(xué)到新的知識。O(∩_∩)O文章來源地址http://www.zghlxwxcb.cn/news/detail-503816.html
到了這里,關(guān)于JAVA制作的簡易計算器——傻瓜計算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!