最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 簡單的計算器程序實例代碼

 更新時間:2017年06月22日 15:31:10   投稿:lqh  
這篇文章主要介紹了java 簡單的計算器程序實例代碼的相關資料,需要的朋友可以參考下

java 簡單的計算器程序

實現實例:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
 
 
public class Calculator 
{ 
  public static void main(String[] args) 
  { 
   EventQueue.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
        CalculatorFrame frame = new CalculatorFrame(); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.setVisible(true); 
      } 
     }); 
  } 
} 
 
 
/** 
 * A frame with a calculator panel. 
 */ 
class CalculatorFrame extends JFrame 
{ 
  public CalculatorFrame() 
  { 
    setTitle("Calculator"); 
    CalculatorPanel panel=new CalculatorPanel(); 
    add(panel); 
    pack(); 
  } 
} 
 
 
class CalculatorPanel extends JPanel 
{ 
  private JButton display; 
    private JPanel panel; 
    private double result; 
    private String lastCommand; 
    private boolean start; 
  public CalculatorPanel() 
  { 
    setLayout(new BorderLayout()); 
     
    result=0; 
    lastCommand="="; 
    start=true; 
     
     // add the display 
    display=new JButton("0"); 
    display.setEnabled(false); 
    add(display,BorderLayout.NORTH); 
     
    ActionListener insert=new InsertAction(); 
    ActionListener command=new CommandAction(); 
     
    panel=new JPanel(); 
    panel.setLayout(new GridLayout(4,4)); 
     
     addButton("7", insert); 
     addButton("8", insert); 
     addButton("9", insert); 
     addButton("/", command); 
 
 
     addButton("4", insert); 
     addButton("5", insert); 
     addButton("6", insert); 
     addButton("*", command); 
 
 
     addButton("1", insert); 
     addButton("2", insert); 
     addButton("3", insert); 
     addButton("-", command); 
 
 
     addButton("0", insert); 
     addButton(".", insert); 
     addButton("=", command); 
     addButton("+", command); 
 
 
     add(panel, BorderLayout.CENTER); 
     
    } 
  private void addButton(String label,ActionListener listener) 
  { 
    JButton button=new JButton(label); 
    button.addActionListener(listener); 
    panel.add(button); 
  } 
  /** 
    * This action inserts the button action string to the end of the display text. 
    */ 
  private class InsertAction implements ActionListener 
  { 
    public void actionPerformed(ActionEvent event) 
    { 
      String input=event.getActionCommand(); 
      if(start) 
      { 
        display.setText(""); 
        start=false; 
      } 
      display.setText(display.getText()+input); 
    } 
  } 
   /** 
    * This action executes the command that the button action string denotes. 
    */ 
  private class CommandAction implements ActionListener 
  { 
    public void actionPerformed(ActionEvent event) 
    { 
      String command=event.getActionCommand(); 
      if(start) 
      { 
        if (command.equals("-")) 
        { 
          display.setText(command); 
          start = false; 
        } 
        else lastCommand = command; 
      }else { 
        calculate(Double.parseDouble(display.getText())); 
        lastCommand=command; 
        start=true; 
      } 
    } 
  } 
  /** 
    * Carries out the pending calculation. 
    * @param x the value to be accumulated with the prior result. 
    */ 
  public 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); 
  } 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • java中對象和JSON格式的轉換方法代碼

    java中對象和JSON格式的轉換方法代碼

    JSON格式可以輕松地以面向對象的方式轉換為Java對象,下面這篇文章主要給大家介紹了關于java中對象和JSON格式的轉換方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 利用ThreadLocal實現一個上下文管理組件

    利用ThreadLocal實現一個上下文管理組件

    本文基于ThreadLocal原理,實現了一個上下文狀態(tài)管理組件Scope,通過開啟一個自定義的Scope,在Scope范圍內,可以通過Scope各個方法讀寫數據,感興趣的可以了解一下
    2022-10-10
  • Java中將Html轉換為PDF的方法和步驟

    Java中將Html轉換為PDF的方法和步驟

    這篇文章主要介紹了Java中如何將Html轉換為PDF的方法,文中有相關的代碼示例和步驟講解,感興趣的同學可以參考閱讀
    2023-06-06
  • Java之理解Redis回收算法LRU案例講解

    Java之理解Redis回收算法LRU案例講解

    這篇文章主要介紹了Java之理解Redis回收算法LRU案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Struts2 $,#,%詳解及實例代碼

    Struts2 $,#,%詳解及實例代碼

    這篇文章主要介紹了Struts2 $,#,%詳解及實例代碼的相關資料,需要的朋友可以參考下
    2016-12-12
  • 解決IDEA中不能正常輸入光標變粗的問題

    解決IDEA中不能正常輸入光標變粗的問題

    這篇文章主要介紹了在IDEA中不能正常輸入光標變粗的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • 在IntelliJ?IDEA中配置SSH服務器開發(fā)環(huán)境并實現固定地址遠程連接的操作方法

    在IntelliJ?IDEA中配置SSH服務器開發(fā)環(huán)境并實現固定地址遠程連接的操作方法

    本文主要介紹如何在IDEA中設置遠程連接服務器開發(fā)環(huán)境,并結合Cpolar內網穿透工具實現無公網遠程連接,然后實現遠程Linux環(huán)境進行開發(fā),本例使用的是IDEA2023.2.5版本,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • Java?講解兩種找二叉樹的最近公共祖先的方法

    Java?講解兩種找二叉樹的最近公共祖先的方法

    樹是一種非線性的數據結構,它是由n(n>=0)個有限結點組成一個具有層次關系的集合,這篇文章主要給大家介紹了關于Java求解二叉樹的最近公共祖先的相關資料,需要的朋友可以參考下
    2022-04-04
  • springBoot集成flowable的流程解析

    springBoot集成flowable的流程解析

    這篇文章主要介紹了springBoot集成flowable的流程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • Springboot中使用lombok的@Data注解方式

    Springboot中使用lombok的@Data注解方式

    這篇文章主要介紹了Springboot中使用lombok的@Data注解方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論

沁水县| 五家渠市| 思南县| 呼和浩特市| 连云港市| 东山县| 曲周县| 胶南市| 泰顺县| 靖西县| 东源县| 黔南| 九龙坡区| 神木县| 云南省| 松阳县| 屯留县| 荥阳市| 鞍山市| 工布江达县| 茂名市| 莱芜市| 皮山县| 南京市| 乌拉特后旗| 阿鲁科尔沁旗| 友谊县| 托克逊县| 阿拉善左旗| 湘阴县| 冕宁县| 翁源县| 景泰县| 开化县| 大悟县| 电白县| 七台河市| 象山县| 广宗县| 大名县| 临颍县|