zoukankan      html  css  js  c++  java
  • 复利计算器3.01

      1 此版本的复利计算器对输入的数据进行了限制,只能输入数字字符,并对输入的数据进行判断是否完整
      2 package JSQ;
      3 
      4 import java.awt.EventQueue;
      5 
      6 import javax.swing.JFrame;
      7 import javax.swing.JPanel;
      8 import javax.swing.border.EmptyBorder;
      9 import javax.swing.ButtonGroup;
     10 import javax.swing.JLabel;
     11 import javax.swing.JOptionPane;
     12 import javax.swing.JTextField;
     13 import javax.swing.JButton;
     14 
     15 import java.awt.event.ActionListener;
     16 import java.awt.event.ActionEvent;
     17 import java.awt.event.KeyAdapter;
     18 import java.awt.event.KeyEvent;
     19 import java.awt.Font;
     20 import java.awt.event.MouseAdapter;
     21 import java.awt.event.MouseEvent;
     22 import java.awt.Color;
     23 
     24 import javax.swing.JComboBox;
     25 import javax.swing.DefaultComboBoxModel;
     26 
     27 import java.awt.event.ItemListener;
     28 import java.awt.event.ItemEvent;
     29 
     30 import javax.swing.JRadioButton;
     31 
     32 public class FuLiJiSuanQi extends JFrame {
     33 
     34     /**
     35      * 
     36      */
     37     private static final long serialVersionUID = 1L;
     38     private JPanel contentPane;
     39     private JTextField t2;
     40     private JTextField t3;
     41     private JTextField t1;
     42     private JTextField t4;
     43     private JLabel L3;
     44     double capital,year,rate,sum;
     45     double t_1,t_2,t_3;
     46     int flag=1;
     47     private JRadioButton r1;
     48     private JRadioButton r2;
     49     /**
     50      * Launch the application.
     51      */
     52     public static void main(String[] args) {
     53         EventQueue.invokeLater(new Runnable() {
     54             @Override
     55             public void run() {
     56                 try {
     57                     FuLiJiSuanQi frame = new FuLiJiSuanQi();
     58                     frame.setVisible(true);
     59                 } catch (Exception e) {
     60                     e.printStackTrace();
     61                 }
     62             }
     63         });
     64     }
     65 
     66     /**
     67      * Create the frame.
     68      */
     69     @SuppressWarnings({ "unchecked", "rawtypes" })
     70     public FuLiJiSuanQi() {
     71         setTitle("u590Du5229u8BA1u7B97u56683.0");
     72         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     73         setBounds(100, 100, 474, 369);
     74         contentPane = new JPanel();
     75         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
     76         setContentPane(contentPane);
     77         contentPane.setLayout(null);
     78         
     79         final JLabel L1 = new JLabel("u5B58u6B3E(u4E07):");//存款
     80         L1.setFont(new Font("Microsoft JhengHei", Font.PLAIN, 16));
     81         L1.setBounds(62, 85, 90, 15);
     82         contentPane.add(L1);
     83         
     84         t1 = new JTextField();
     85         t1.setBounds(166, 84, 173, 21);
     86         contentPane.add(t1);
     87         t1.setColumns(10);
     88         t1.addKeyListener(new KeyAdapter(){  
     89             public void keyTyped(KeyEvent e) {  
     90                 int keyChar = e.getKeyChar();                 
     91                 if(keyChar >= KeyEvent.VK_0 && keyChar <= KeyEvent.VK_9){  
     92                       
     93                 }else{  
     94                     e.consume(); //关键,屏蔽掉非法输入  
     95                 }  
     96             }  
     97         });  
     98         
     99         L3 = new JLabel("u5229u7387( %):");//利率
    100         L3.setFont(new Font("Microsoft JhengHei", Font.PLAIN, 16));
    101         L3.setBounds(62, 142, 81, 15);
    102         contentPane.add(L3);
    103         
    104         t2 = new JTextField();
    105         t2.setBounds(166, 115, 173, 21);
    106         contentPane.add(t2);
    107         t2.setColumns(10);
    108         t2.addKeyListener(new KeyAdapter(){  
    109             public void keyTyped(KeyEvent e) {  
    110                 int keyChar = e.getKeyChar();                 
    111                 if(keyChar >= KeyEvent.VK_0 && keyChar <= KeyEvent.VK_9){  
    112                       
    113                 }else{  
    114                     e.consume();//关键,屏蔽掉非法输入  
    115                 }  
    116             }  
    117         });  
    118         
    119         final JLabel L2 = new JLabel("u672Cu606F(u4E07):");//年限
    120         L2.setFont(new Font("Microsoft JhengHei", Font.PLAIN, 16));
    121         L2.setBounds(62, 117, 104, 15);
    122         contentPane.add(L2);
    123         
    124         t3 = new JTextField();
    125         t3.setBounds(166, 140, 173, 21);
    126         contentPane.add(t3);
    127         t3.setColumns(10);
    128         t3.addKeyListener(new KeyAdapter(){  
    129             public void keyTyped(KeyEvent e) {  
    130                 int keyChar = e.getKeyChar();                 
    131                 if(keyChar >= KeyEvent.VK_0 && keyChar <= KeyEvent.VK_9){  
    132                       
    133                 }else{  
    134                     e.consume(); //关键,屏蔽掉非法输入  
    135                 }  
    136             }  
    137         });  
    138         
    139         final JButton btnNewButton = new JButton("u5E74u9650(u5E74)");//本息
    140         t4 = new JTextField();
    141         t4.setEnabled(false);
    142         t4.setForeground(new Color(127, 255, 212));
    143         t4.setBounds(166, 182, 173, 21);
    144         contentPane.add(t4);
    145         t4.setColumns(10);
    146         final JComboBox comboBox = new JComboBox();
    147         comboBox.addItemListener(new ItemListener() {
    148             @Override
    149             public void itemStateChanged(ItemEvent e) {
    150                 if(comboBox.getSelectedItem().toString().equals("u4F30u7B97u5B58u671F"))
    151                 {
    152                     flag=1;
    153                     L1.setText("u5B58u6B3E(u4E07):");
    154                     L2.setText("u672Cu606F(u4E07):");
    155                     L3.setText("u5229u7387(%):");
    156                     btnNewButton.setText("u5E74u9650(u5E74)");
    157                     t1.setText(null);
    158                     t2.setText(null);
    159                     t3.setText(null);
    160                     t4.setText(null);
    161                 }
    162                 else if(comboBox.getSelectedItem().toString().equals("u4F30u7B97u5B58u989D")) {
    163                     flag=2;
    164                     L1.setText("u672Cu606F(u4E07)");
    165                     L2.setText("u5E74u9650(u5E74):");
    166                     L3.setText("u5229u7387(%):");
    167                     btnNewButton.setText("u5B58u6B3E(u4E07)");
    168                     t1.setText(null);
    169                     t2.setText(null);
    170                     t3.setText(null);
    171                     t4.setText(null);
    172                 }
    173                 else if(comboBox.getSelectedItem().toString().equals("u4F30u7B97u5229u7387")) {
    174                     flag=3;
    175                     L1.setText("u5B58u6B3E(u4E07):");
    176                     L2.setText("u672Cu606F(u4E07):");
    177                     L3.setText("u5E74u9650(u5E74):");
    178                     btnNewButton.setText("u5229u7387(%)");
    179                     t1.setText(null);
    180                     t2.setText(null);
    181                     t3.setText(null);
    182                     t4.setText(null);
    183                 }
    184                 else {
    185                     flag=4;
    186                     L1.setText("u5B58u6B3E(u4E07):");
    187                     L2.setText("u5E74u9650(u5E74):");
    188                     L3.setText("u5229u7387(%):");
    189                     btnNewButton.setText("u672Cu606F(u4E07)");
    190                     t1.setText(null);
    191                     t2.setText(null);
    192                     t3.setText(null);
    193                     t4.setText(null);
    194                 }
    195             }
    196         });
    197         comboBox.setModel(new DefaultComboBoxModel(new String[] {"u4F30u7B97u5B58u671F", "u4F30u7B97u5B58u989D",
    198                                                                 "u4F30u7B97u5229u7387", "u4F30u7B97u672Cu606F"}));
    199         comboBox.setBounds(53, 10, 90, 21);
    200         contentPane.add(comboBox);
    201         
    202         r1 = new JRadioButton("u5355u5229");
    203         r1.setSelected(true);
    204         r1.setBounds(6, 37, 64, 23);
    205         contentPane.add(r1);
    206         
    207         r2 = new JRadioButton("u590Du5229");
    208         r2.setBounds(72, 37, 70, 23);
    209         contentPane.add(r2);
    210         ButtonGroup group=new ButtonGroup();
    211         group.add(r1);
    212         group.add(r2);
    213         JLabel L = new JLabel("u529Fu80FD");
    214         L.setFont(new Font("Microsoft JhengHei", Font.PLAIN, 16));
    215         L.setBounds(10, 13, 54, 15);
    216         contentPane.add(L);
    217         btnNewButton.addMouseListener(new MouseAdapter() {
    218             @Override
    219             public void mouseClicked(MouseEvent e) {
    220                 if (t1.getText().trim().equals("")||t2.getText().trim().equals("")||t3.getText().trim().equals("")) {
    221                     JOptionPane.showMessageDialog(contentPane, "请把数据输入完整");
    222                 }
    223                 else {
    224                     getTitleValue();
    225                     if(r1.isSelected()){
    226                         calculate();
    227                     }
    228                     else {
    229                         calculate_2();
    230                     }
    231                 }
    232             }
    233         });
    234         btnNewButton.addActionListener(new ActionListener() {
    235             @Override
    236             public void actionPerformed(ActionEvent e) {
    237             }
    238         });
    239         btnNewButton.setBounds(53, 181, 90, 23);
    240         contentPane.add(btnNewButton);
    241     }
    242     public void getTitleValue() {
    243             t_1=Double.parseDouble(t1.getText());
    244             t_2=Double.parseDouble(t2.getText());
    245             t_3=Double.parseDouble(t3.getText());
    246     };
    247     public void calculate() {
    248         switch (flag) {
    249         case 1:
    250             capital=t_1;
    251             sum=t_2;
    252             rate=t_3;
    253             year=(sum/capital-1)/(rate/100);
    254             t4.setText(Double.toString(year));
    255             break;
    256         case 2:
    257             sum=t_1;
    258             year=t_2;
    259             rate=t_3;
    260             capital=sum/(year*rate/100+1);
    261             t4.setText(Double.toString(capital));
    262             break;
    263         case 3:
    264             capital=t_1;
    265             sum=t_2;
    266             year=t_3;
    267             rate=(sum/capital-1)/year*100;
    268             t4.setText(Double.toString(rate));
    269             break;
    270         case 4:
    271             capital=t_1;
    272             year=t_2;
    273             rate=t_3;
    274             sum=capital*(1+rate/100*year);
    275             t4.setText(Double.toString(sum));
    276             break;
    277         default:
    278             break;
    279         }
    280     }
    281     public void  calculate_2() {
    282         switch (flag) {
    283         case 1:
    284             capital=t_1;
    285             sum=t_2;
    286             rate=t_3;
    287             year=Math.log(sum/capital)/Math.log(1+rate/100);
    288             t4.setText(Double.toString(year));
    289             break;
    290         case 2:
    291             sum=t_1;
    292             year=t_2;
    293             rate=t_3;
    294             capital=sum/Math.pow((1+rate/100),year);
    295             t4.setText(Double.toString(capital));
    296             break;
    297         case 3:
    298             capital=t_1;
    299             sum=t_2;
    300             year=t_3;
    301             rate=(Math.pow((sum/capital),1/year)-1)*100;
    302             t4.setText(Double.toString(rate));
    303             break;
    304         case 4:
    305             capital=t_1;
    306             year=t_2;
    307             rate=t_3;
    308             sum=capital*Math.pow((1+rate/100),year);
    309             t4.setText(Double.toString(sum));
    310             break;
    311         default:
    312             break;
    313         }
    314     }
    315 }
    316 
    317  
    
    
  • 相关阅读:
    mac 切换 默认xcode 版本
    mac 查看jenkins 管理员密码地址
    解决 mac ox 终端显示bogon 的问题
    eclipse 修改默认作者信息
    mac 查看 本地网络代理
    appium 解决 启动case 时不 重装 setting 和 unlock.apk的解决方案实践
    appium 输入时间慢的解决方案
    命令 关闭 appium 命令
    解决 appium could not start ios-webkit-debug-proxy
    PPT总结
  • 原文地址:https://www.cnblogs.com/LwF39/p/5296744.html
Copyright © 2011-2022 走看看