java計算器,java計算器界面

本文目錄一覽:

java計算器

//強烈要求追加分 你給的分太少了 或許也就我能幫你看啊 呵呵

//你錯誤的地方我給你改正了我都標明了 最主要的錯誤是兩個:

//1.你並沒有創建面板2沒有把面板添加到窗口組建里

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class jsq

{

Frame frmFrame;

Label lb1 = new Label(“計算數”);

TextField tf1 = new TextField(30);

Label lb2 = new Label(“計算符”);

TextField tf2 = new TextField(30);

Label lb3 = new Label(“計算結果”);

TextField tf3 = new TextField(30);

JPanel p1;

JPanel p2;

JPanel p3;

Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12,btn13,btn14,btn15,btn16,btn17,btn18,btn19,btn20;

public jsq()

{

frmFrame = new Frame(“計算器”);

p1 = new JPanel(new BorderLayout());//這裡

p2 = new JPanel(new GridLayout(3,2));//這裡

p3 = new JPanel(new GridLayout(5,4));//這裡

btn1 = new Button(“退出”);

btn1.setActionCommand(“btn1”);

btn2 = new Button(“刪除”);

btn2.setActionCommand(“btn2”);

btn3 = new Button(“清空”);

btn3.setActionCommand(“btn3”);

btn4 = new Button(“+”);

btn4.setActionCommand(“btn4”);

btn5 = new Button(“0”);

btn5.setActionCommand(“btn5”);

btn6 = new Button(“1”);

btn6.setActionCommand(“btn6”);

btn7 = new Button(“2”);

btn7.setActionCommand(“btn7”);

btn8 = new Button(“-“);

btn8.setActionCommand(“btn8”);

btn9 = new Button(“3”);

btn9.setActionCommand(“btn9”);

btn10 = new Button(“4”);

btn10.setActionCommand(“btn10”);

btn11 = new Button(“5”);

btn11.setActionCommand(“btn11”);

btn12 = new Button(“*”);

btn12.setActionCommand(“btn12”);

btn13 = new Button(“6”);

btn13.setActionCommand(“btn13”);

btn14 = new Button(“7”);

btn14.setActionCommand(“btn14”);

btn15 = new Button(“8”);

btn15.setActionCommand(“btn15”);

btn16 = new Button(“/”);

btn16.setActionCommand(“btn16”);

btn17 = new Button(“9”);

btn17.setActionCommand(“btn17”);

btn18 = new Button(“.”);

btn18.setActionCommand(“btn18”);

btn19 = new Button(“=”);

btn19.setActionCommand(“btn19”);

btn20 = new Button(“%”);

btn20.setActionCommand(“btn20”);

p2.add(lb1);

p2.add(tf1);

p2.add(lb2);

p2.add(tf2);

p2.add(lb3);

p2.add(tf3);

p3.add(btn1);

p3.add(btn2);

p3.add(btn3);

p3.add(btn4);

p3.add(btn5);

p3.add(btn6);

p3.add(btn7);

p3.add(btn8);

p3.add(btn9);

p3.add(btn10);

p3.add(btn11);

p3.add(btn12);

p3.add(btn13);

p3.add(btn14);

p3.add(btn15);

p3.add(btn16);

p3.add(btn17);

p3.add(btn18);

p3.add(btn19);

p3.add(btn20);

p1.add(p2,BorderLayout.NORTH);

p1.add(p3,BorderLayout.SOUTH);

frmFrame.pack();

frmFrame.add(p1);//這裡

frmFrame.setVisible(true);

}

public static void main(String[] args)

{

new jsq();

}

}

怎麼用JAVA編程編寫一個計算器?

打開IED:打開自己java編程的軟體,採用的是eclipse軟體。

建立java工程。

編寫類。

編寫類的詳細步驟

1.類的基本結構:

由於這裡用到了界面,所以要進行窗口界面的編程,按鈕事件的處理,和計算處理界面;

package MyCaculator;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyCaculator extends JFrame {

private int add=1,sub=2,mul=3,div=4;

private int op=0;

boolean ifOp;

private String output=”0″;

private Button[] jba=new Button[]{new Button(“7”),new Button(“8”),

new Button(“9”),new Button(“+”),

new Button(“4”),new Button(“5”),new Button(“6”),new Button(“-“),

new Button(“1”),new Button(“2”),new Button(“3”),new Button(“*”),

new Button(“0”),new Button(“.”),new Button(“=”),new Button(“/”)};

private JPanel jpt=new JPanel();

private JPanel jpb=new JPanel();

private JTextField jtf=new JTextField(“”);

private MyCaculator(){

}

private void operate(String x){

}

public String add(String x){

return output;

}

public String subtract(String x){

return output;

}

public String multiply(String x){

return output;

}

public String divide(String x){

return output;

}

public String Equals(String x){

return output;

}

public void opClean(){

}

class setOperate_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

class setLabel_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

public static void main(String[] args) {

}

}

2.建立構造方法:

所謂構造方法就是,對自己的主類進行初始化,代碼如下:

private MyCaculator(){

jpt.setLayout(new BorderLayout());

jpt.add(jtf);

this.add(jpt,BorderLayout.NORTH);

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

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

jpb.add(jba[i]);

if(i==3||i==7||i==11||i==15||i==14)

jba[i].addActionListener(new setOperate_Act());

else

jba[i].addActionListener(new setLabel_Act());

}

this.add(jpb,BorderLayout.CENTER);

this.setSize(250, 200);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

3.建立數據計算方法

這裡的數據計算方法有6個,一個是主方法其他幾個是加減乘除的處理方法,代碼如下:

private void operate(String x){

double x1=Double.valueOf(x);

double y=Double.valueOf(output);

switch(op){

case 0:output=x;break;

case 1:output=String.valueOf(y+x1);break;

case 2:output =String.valueOf(y-x1);break;

case 3:output =String.valueOf(y*x1);break;

case 4:

if(x1!=0) output=String.valueOf(y/x1);

else output=”不能為0″;

break;

}

}

public String add(String x){

operate(x);

op=add;

return output;

}

public String subtract(String x){

operate(x);

op=sub;

return output;

}

public String multiply(String x){

operate(x);

op=mul;

return output;

}

public String divide(String x){

operate(x);

op=div;

return output;

}

public String Equals(String x){

operate(x);

op=0;

return output;

}

public void opClean(){

op=0;

output =”0″;

}

4.事件處理方法

這裡的時間處理方法,沒有建立一個整體的方法,二是在為了便於處理的方法,將按鈕事件分成兩個部分,並採用兩個子類來實現,這兩個類時內部類要寫在主類內部的,代碼如下:

class setOperate_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

if(e.getSource()==jba[3]){

jtf.setText(add(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[7]){

jtf.setText(subtract(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[11]){

jtf.setText(multiply(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[15]){

jtf.setText(divide(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[14]){

jtf.setText(Equals(jtf.getText()));

ifOp=true;

}

}

}

class setLabel_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

Button tempb=(Button)e.getSource();

if(ifOp){

jtf.setText(tempb.getLabel());

ifOp=false;

}else {

jtf.setText(jtf.getText()+tempb.getLabel());

}

}

}

5.建立main方法:

要想實現我們的代碼,我們需在main方法中,實例化我們的對象。

public static void main(String[] args) {

new MyCaculator();

}

如何用Java編程迷你計算器

現在是一段核心程序,只有單位數的四則運算,需要實現多位數運算和小數點功能,最好還有正負號。萬分感謝!

import java.awt.*;

import java.applet.*;

public class calc10 extends Applet {

char key,prevopr;

float ans,num;

char[] btext={‘0′,’1′,’2′,’3′,’4′,’5’,

‘6’,’7′,’8′,’9′,’-‘,’+’,’*’,’/’};

Button[] buttons = new Button[btext.length];

public void init() {

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

buttons[i] = new Button(“”+btext[i]);

add(buttons[i]);

}

}

public float apply(float num1, char opr, float num2) {

switch (opr) {

case ‘+’: return(ans+num);

case ‘-‘: return(ans-num);

case ‘*’: return(ans*num);

case ‘/’: return(ans/num);

default: return(num);

}

}

public boolean action(Event evt,Object arg){

key = ((String)arg).charAt(0);

if(key=’0′ key=’9′) {

num = (float)(key-‘0’);

showStatus(“”+key);

} else {

ans = apply(ans,prevopr,num);

showStatus( “” + ans );

prevopr=key;

}

return true;

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236660.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:01
下一篇 2024-12-12 12:01

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論