JAVA初学

这两周简单的学了一下java,有些入门了

但是对于面向对象依然不怎么理解

比如计算器,

是不是所谓的面向对象就是先建一个caculator的类,然后向里面添加各种按钮、功能什么的

就能说面向caculator这个对象进行了编程。。。。

囧~~~~

学习的过程中

感到还是实践最重要

看书可能明白 但是不会用

只有把代码敲一遍

完整的从头到尾来一遍

思考一编

才能有所收获

当真正使用的时候才知道有哪些缺陷不足

 

——————

深深的感受到自己C语言基础不扎实。。

惭愧惭愧

要挤时间继续学习C

最基础的是最重要的、。。

和一个99级的华科计算机学长聊了几句。

他说

关键是要专,越底层越吃香。然后就是要实际经验,书本知识都是浮云

Android 12:40:39
要做底层?汇编?~
石头 12:41:29
驱动
石头 12:41:48
很少人会用汇编了
石头 12:42:01
嵌入式,驱动,linux
‮槑‭Android 12:42:32
那底层一般指的什么?
石头 12:42:44
贴近硬件

贴在这里。。不知道有没有用。。

————————————

这周做了简单的计算器

灰常简单

还有不少BUG。。

先把代码贴在这里、。。。。。

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;

public class MyCaculator extends JFrame implements ActionListener{
 private JPanel centerPanel;
 private String KeyLabel[]={"7","8","9",".","4","5","6","0","1","2","3","=","+","-","*","/"};
 private JFrame frame;
 private JTextArea output;
 private JButton cancel;
 private JButton[] bt = new JButton[16];
 private double figure1;
 private String fuhao;
 private boolean clickable;
 
 public MyCaculator(){
 //构造图形面板
  frame = new JFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(new Dimension(300,185));
  frame.setTitle("简易计算器");
  frame.setLocation(550,270);
  frame.setResizable(false);
  frame.setLayout(new BorderLayout());
  
  //各个组件
  output = new JTextArea(1,18);//输出框的设定
  output.setEditable(false);
  //output.setHorizontalAlignment(JTextField.RIGHT);
  output.setText("");
  cancel = new JButton("C");//cancel键
  cancel.addActionListener(this);
  
  //中间的数字键盘
   centerPanel = new JPanel(new GridLayout(4,4));
  
  for(int i = 0;i<16;i++){
   bt[i] = new JButton(KeyLabel[i]);
   bt[i].addActionListener(this);
   centerPanel.add(bt[i]);   
  }
  frame.add(centerPanel,BorderLayout.CENTER);  

  //上方的输出框和清空键
  JPanel northPanel = new JPanel(new FlowLayout());

  northPanel.add(output);
  northPanel.add(cancel);
  
  frame.add(northPanel,BorderLayout.NORTH);
  frame.pack();
  frame.setVisible(true);
 }
 
 public void actionPerformed(ActionEvent e){
  /*Object temp = e.getSource();
  if(temp == "1"){
   output.setText("1");
  }*/
  String s = ((JButton)e.getSource()).getText().trim(); //得到用户按下的按钮上的文本  
  if(s == "C"){//若按下的键为清除
   output.setText("");
  }
        if(s == "1"){//若按下的键为1
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"1");
        }
        if(s == "2"){//若按下的键为2
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"2");
        }
        if(s == "3"){//若按下的键为3
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"3");
        }
        if(s == "4"){//若按下的键为4
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"4");
        }
        if(s == "5"){//若按下的键为5
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"5");
        }
        if(s == "6"){//若按下的键为6
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"6");
        }
        if(s == "7"){//若按下的键为7
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"7");
        }
        if(s == "8"){//若按下的键为8
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"8");
        }
        if(s == "9"){//若按下的键为9
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"9");
        }
        if(s == "0"){//若按下的键为0
         String ls=output.getText();
         output.setText("");
         output.setText(ls+"0");
        }
        if(s == "."){//若按下的键为.
         clickable=true; //此处检测点号是否重复输入。
         for (int i = 0; i < output.getText().length(); i++)
         if ('.' == output.getText().charAt(i))
         {
         clickable=false;
         break;
         }
         if(clickable == true){
          String ls=output.getText();
             output.setText("");
             output.setText(ls+".");
         }
        }
        if(s == "+"){//若按下的键为+
         figure1=Double.parseDouble(output.getText());
         fuhao="+";
         output.setText("");
        }
        if(s == "-"){//若按下的键为-
         figure1=Double.parseDouble(output.getText());
         fuhao="-";
         output.setText("");
        }
        if(s == "*"){//若按下的键为*
         figure1=Double.parseDouble(output.getText());
         fuhao="*";
         output.setText("");
        }
        if(s == "/"){//若按下的键为/
         figure1=Double.parseDouble(output.getText());
         fuhao="/";
         output.setText("");
        }
        if(s == "="){若按下的键为=,则进行求等运算
         String text = output.getText();
         if(text.length() == 0){
                   
         }
         else
         {
          double figure2 = Double.parseDouble(output.getText());
          if(fuhao == "+")
          output.setText(figure1+figure2+"");
          if(fuhao == "-")
          output.setText(figure1-figure2+"");
          if(fuhao == "*")
             output.setText(figure1*figure2+"");
          if(fuhao == "/")
           if(figure2 == 0)//除数不能为0
            output.setText("猪。。除数不能是0.。去改了去!!");
           else
            output.setText(figure1/figure2+"");
         }
        }
 }
 
 public static void main(String[] args){
  MyCaculator cal =new MyCaculator();
 }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值