这两周简单的学了一下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();
}
}