欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > java计算器心得体会

java计算器心得体会

时间:2014-09-03 22:47

Java学习心得

学习感想——思路决定出路人的学习是无止境的,只有不断的学习,才能给自己更丰富,更开阔的思路,经过两天的学习,让我感悟到很多事情,都是有两面性的,穷则变,变则通,出路在于变通,当目前的想法不能成功,说明你的想法有可能是错的,或者是由于没有改变自己的思路或者是懒于改变自己的思路或者是根本不想改变自己的思路,成功总有方法,想成功就要找方法,而思考是一切正确策略和方法的起源,思考其实就是问与答的过程,当你做一件事情没有达到目标时,问自己一个为什么

问自己问题出在了哪里,然后自己给出答案,学会反思学会换位思考。

“没有不好的孩子,只有不好的教育”,例如,在课堂中,在一日生活中孩子没有如我们所预想的那样做一些正确的事情,不能达到我们所要求的目标时,我们只能对孩子着急吗

与其对孩子发脾气,不如改变自己的教育观点理念,反思自己为什么,不能懒于改变自己的思路,就要求别人去适应自己的思路,我们何不反思自己从事情的另一个角度开始着手,可能会有意外收获,就像我们经常说的,给孩子机会孩子就会给你惊喜。

从中,我还深刻的理解到一个道理,大凡世界上能做大事的人,都能把小事做细,做好,做好了每件小事逐渐积累就会发生质变,小事就会变成大事,任何一件小事只要你把它做规范了,做到位了,做透了,你就会从中发现机会,找到规律,从而成就大事,也就是说,一件事情我会做了,但做好了吗,做精了吗,一个人无论从事何种职业,都应该尽心尽责

java学习心得

目前,Java已成全球编程语言的领头羊,它应用领域广泛、前景可观,升职加薪也是指日可待的事。

虽说它的前景可观,但回想下自己走过的路,那真是困难重重啊,接下来就给大家分享几点学习心得,希望能帮助到初学者。

一、学习要脚踏实地,不可超值过急对于初学者来说一定要奠定好基础,要脚踏实地的学习,为日后学习高深知识奠定好基础,要给自己定个学习计划,按照流程去学习,不要学了一半JVM后觉得没啥意思,又去学SWT,结果发现对这个程序也没多大兴趣,有转去学别的,这样浮躁的性格导致你什么也学不会,建议大家一定要将入门教程吃透,平时多看视频讲解,把“基础知识”打牢固是很重要的。

二、看书不是重点,重点是多实践有了良好的开端还要养成良好的学习习惯,平时不单单是多看书本知识,自己在看书的时候还要把书上的例子亲手敲到电脑上去实践,千万不要图省事,就照抄、复制,只有实践才知道自己是否真的会写代码。

虽然说理解编程语言是首要,但也要勤动手、多思考,多编一些例子,做到将理论和实践相结合,这样才能真正的掌握这门技能。

三、由浅入深,不断赶紧程序编写难度每个人都懂得学习是件漫长又枯燥的事情,所以每个想学Java的学者都要做好心理准备,在有准备后要给自己养成个好习惯,先从简单的程序入手,可以通过命令行的方式实现,功能可以有不足,但是随着学习的深入,你可以不断的完善这个程序,直到你把它做成一个完美、性能全的程序后,你才真的学透、学扎实了。

四、遇到难题要学会思考和总结每一个阶段都要对上一阶段做个反思和总结,不要丢了西瓜捡了芝麻,最后学一个丢一个,要经常把自己在学习过程遇到的难题和困惑记录下来,定时的去温习和反思,还要记下自己解决问题的经验和技巧,不断的浏览这些东西,将这些东西吃透,过一段时间,你会发现自己成长了不少。

五、定期研究一个技术,并将其学懂、学精根据市场出现的新奇玩应,不断的去学习和探索,所研究的技术一定要比目前技术水平高,只有不断的探索和专研才能提升个人能力,我相信这一点一般的程序员都没能做到,如果你是抢先做到这一点,你的能力肯定比他人都要强很多。

总而言之,要不断的从实践中学习,要脚踏实地的学好技术,勤奋联系,也要善于利用网上的资源,譬如蓝鸥Java视频教程,从他人身上吸取经验和教训,让提升个人能力不在成为纸上谈兵的事。

java简单计算器实验报告

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class 计算器 extends JFrame implements ActionListener { private final String[] KEYS = { 7, 8, 9, ÷, sqrt, 4, 5, 6, ×, %, 1, 2, 3, -, 1\\\/x, 0, +\\\/-, ., +, = }; private final String[] COMMAND = { Backspace, CE, C }; private final String[] M = { , MC, MR, MS, M+ }; private JButton keys[] = new JButton[KEYS.length]; private JButton commands[] = new JButton[COMMAND.length];private JButton m[] = new JButton[M.length]; private JTextField resultText = new JTextField(); private boolean firstDigit = true; private double resultNum = 0.0; private String operator = =; static double mr;\\\/\\\/ 记忆的数字private boolean operateValidFlag = true; JPanel panel[]=new JPanel[4];public 计算器(){ super(计算器); init(); setBackground(Color.LIGHT_GRAY); setResizable(false); setLocation(588, 250); setSize(378,214);setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); \\\/\\\/窗口不能直接关闭setVisible(true);addWindowListener( new WindowAdapter() {public void windowClosing(WindowEvent e){if (JOptionPane.showConfirmDialog(null,确定退出? , 提示,2)==0){System.exit(0);}}});}private void init() { setLayout(null);for (int i = 0; i < 4; i++) { panel[i]=new JPanel();add(panel[i]);}panel[0].setLayout(new GridLayout(1,1,3,3));panel[1].setLayout(new GridLayout(1,3,3,3));panel[2].setLayout(new GridLayout(5,1,3,3));panel[3].setLayout(new GridLayout(4,5,3,3));resultText.setHorizontalAlignment(JTextField.RIGHT); resultText.setAlignmentX(50);resultText.setEditable(true); resultText.setFont(new Font(宋体,Font.PLAIN,19));\\\/\\\/设置字体resultText.setBackground(Color.white); panel[0].add(resultText);for (int i = 0; i < KEYS.length; i++) { keys[i] = new JButton(KEYS[i]); panel[3].add(keys[i]); if (i%5-3==0){keys[i].setForeground(Color.red); }else{keys[i].setForeground(Color.black);}keys[i].setVisible(true);keys[i].setFont(new Font(null,Font.PLAIN,17));\\\/\\\/设置字体keys[i].addActionListener(this); keys[i].setHorizontalAlignment(keys[i].CENTER);keys[i].setBackground(new Color(255,236,233));} keys[4].setFont(new Font(null,Font.PLAIN,13));\\\/\\\/设置字体keys[19].setForeground(Color.red); for (int i = 0; i < COMMAND.length; i++) { commands[i] = new JButton(COMMAND[i]); panel[1].add(commands[i]); commands[i].setForeground(Color.red); commands[i].addActionListener(this); } commands[0].setFont(new Font(null,Font.PLAIN,12));\\\/\\\/设置字体for (int i = 0; i < M.length; i++) { m[i] = new JButton(M[i]); panel[2].add(m[i]); m[i].setForeground(Color.red); m[i].addActionListener(this); } panel[0].setBounds(2, 0, 370, 30);panel[1].setBounds(74, 30, 298, 29);panel[2].setBounds(2,30, 70, 150);panel[3].setBounds(74,60, 300, 120);validate();}public void actionPerformed(ActionEvent e) { String label = e.getActionCommand(); if (label.equals(COMMAND[0])){ \\\/\\\/用户按了Backspace键 handleBackspace(); } else if (label.equals(COMMAND[1])) { \\\/\\\/用户按了CE键 resultText.setText(0); } else if (label.equals(COMMAND[2])){ \\\/\\\/用户按了C键 handleC(); } else if (label.equals(M[4])){ \\\/\\\/用户按了M+键 mr=mr+Double.valueOf(resultText.getText()).doubleValue();if (mr==0.0){m[0].setText();}else {m[0].setText(M);}} else if (label.equals(M[3])){ \\\/\\\/用户按了MS键 mr=Double.valueOf(resultText.getText()).doubleValue();if (mr==0.0){m[0].setText();}} else if (label.equals(M[2])){ \\\/\\\/用户按了MR键 resultText.setText(+mr);} else if (label.equals(M[1])){ \\\/\\\/用户按了MC键 mr=0.0;m[0].setText();} else if (label.equals(sqrt)) { \\\/\\\/平方根运算 resultNum = Math.sqrt(Double.valueOf(resultText.getText()).doubleValue()); resultText.setText(String.valueOf(resultNum)); } else if (label.equals(%)){ \\\/\\\/百分号运算,除以100 resultNum = Double.valueOf(resultText.getText()).doubleValue() \\\/ 100; resultText.setText(String.valueOf(resultNum)); } else if (label.equals(+\\\/-)){ \\\/\\\/正数负数运算 resultNum = Double.valueOf(resultText.getText()).doubleValue() * (-1); resultText.setText(String.valueOf(resultNum)); } else if (label.equals(1\\\/x)) { \\\/\\\/倒数运算 resultNum=Double.valueOf(resultText.getText()).doubleValue();if (resultNum == 0.0){ \\\/\\\/操作不合法 operateValidFlag = false; resultText.setText(零没有倒数); } else { resultNum = 1 \\\/ resultNum; }resultText.setText(String.valueOf(resultNum)); } else if (0123456789..indexOf(label) >= 0) { \\\/\\\/用户按了数字键或者小数点键 handleNumber(label); } else { \\\/\\\/用户按了运算符键 handleOperator(label); } }private void handleBackspace() { \\\/\\\/ 处理Backspace键被按下的事件 String text = resultText.getText(); int i = text.length(); if (i > 0) { \\\/\\\/退格,将文本最后一个字符去掉 text = text.substring(0, i - 1); if (text.length() == 0) { \\\/\\\/如果文本没有了内容,则初始化计算器的各种值 resultText.setText(0); firstDigit = true; operator = =; } else { \\\/\\\/显示新的文本 resultText.setText(text); }}}private void handleNumber(String key) { \\\/\\\/ 处理数字键被按下的事件 if (firstDigit) { \\\/\\\/输入的第一个数字 resultText.setText(key); } else if ((key.equals(.)) && (resultText.getText().indexOf(.) < 0)){ \\\/\\\/输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面 resultText.setText(resultText.getText() + .); } else if (!key.equals(.)) { \\\/\\\/如果输入的不是小数点,则将数字附在结果文本框的后面 resultText.setText(resultText.getText() + key); } firstDigit = false; \\\/\\\/以后输入的肯定不是第一个数字了 }private void handleC() { \\\/\\\/处理C键被按下的事件, 初始化计算器的各种值 resultText.setText(0); firstDigit = true; operator = =; } private void handleOperator(String key) { \\\/\\\/处理运算符键被按下的事件 if (operator.equals(÷)) { \\\/\\\/除法运算 ,如果当前结果文本框中的值等于0 if (getNumberFromText() == 0.0){ \\\/\\\/操作不合法 operateValidFlag = false; resultText.setText(除数不能为零); } else { resultNum \\\/= getNumberFromText(); }} else if (operator.equals(+)){ \\\/\\\/加法运算 resultNum += getNumberFromText(); } else if (operator.equals(-)){ \\\/\\\/减法运算 resultNum -= getNumberFromText(); } else if (operator.equals(×)){ \\\/\\\/乘法运算 resultNum *= getNumberFromText(); } else if (operator.equals(=)){ \\\/\\\/赋值运算 resultNum = getNumberFromText(); }if (operateValidFlag) { \\\/\\\/双精度浮点数的运算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 == 0) { resultText.setText(String.valueOf(t1)); } else { resultText.setText(String.valueOf(resultNum)); } } operator = key; \\\/\\\/运算符等于用户按的按钮 firstDigit = true; operateValidFlag = true; }private double getNumberFromText() { \\\/\\\/ 从结果文本框中获取数字double result = 0; try { result = Double.valueOf(resultText.getText()).doubleValue(); } catch (NumberFormatException e){ } return result; } public static void main(String args[]) { new 计算器(); } }

java实训心得体会

一周的实训转瞬即逝,在这短暂的时间里,我们在老师的指导和帮助下,对于网页设计与制作有了进一步的了解。

虽然存在各种各样的问题,但是,这次动手实践经历的意义也是显而易见的。

通过这次实训,我学到了很多有价值的东西。

整个开发的过程对我来说是一次将理论应用于实践的过程,是将以前所学知识充分利用的过程,是一次真正的实践过程。

在这次网页设计中,学到了很多在课堂内所学不到的知识,真正拓展了自己的能力,是一次难得的历练经历收获很大。

我感受最深的是:想要最好一个网站,素材和技能都十分重要。

好的素材需要多放面查找资料的,可以从图书、网站和新闻上查找的。

好的技能需要不断的实践,经常锻炼做网页。

如果拥有好的素材和精湛的技能就可以做出最精湛的网页。

另外,亲自动手也让自己看到了自身能力的不足,看到了理想与现实之间的差距,这一切都需要今后进一步加强学习理论知识与真正动手做一些课题来弥补。

学习java的心得

我学习java已经有一年的时间了,不过虽然时间长,但是对于现在的我还是一个初学者,懂不了多少的java初学者。

期间曾迷茫过,曾困惑过,走了不少的弯路,老师布置的试验作业每次都是不会做,每次都是要问同学,这个代码什么意思啊

为什么用这条代码,用别的不行吗

甚至后来根本没耐心问,索性就复制同学的作业交上去。

但是都是各种0分,害的同学也这样,不过他能找老师反驳,而我却没实力。

渐渐的,我认识到这样下去是不行的,我必须改正自己的学习态度和方式。

接下提到的就是我这一年来的java学习心得。

JAVA是一门计算机语言,是人类发明的语言,应该比人类语言更容易学习,只要你有一种必胜学习JAVA心态就可以成功。

学习JAVA的方法:JAVA学习中,首先要做到课前、课后复习及预习,要时时保持一个清醒的头脑;多和同学沟通;互相学习;取长补短;在学习中做到帮助他人或他人帮助自己。

学习java,的确要学习的东西很多,就像同学提到的。

Java不像.net一家独大,Java的繁盛在于开源社区的庞大,这也带来了分支太多的问题,怎样选择一条好的学习路线,对于初学者来说,的确是一件很迷茫的事。

其实不管java东西再多,总有规律可循。

对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。

这样才能举一反三,由点及面。

java的所有编程思路都是“面向对象”的编程。

所以大家在往更高境界发展以前一定要打好基础,基础是王道。

我们的基础要扎实扎实再扎实。

所谓打好基础并不是说要熟悉所有的java代码。

要了解java的结构。

class,methode,object,各种套用import,extend 让自己在结构上对java有个立体而且整体的了解。

学Java千万不要浮躁。

说到浮躁,这也是一个很值得我深思的问题。

我觉得我自己也有这样的倾向,不仅是我,估计大多数的人都有这个毛病。

总是喜欢讨论什么语言最好,什么语言功能强大。

这种讨论倒没有错,不过真正学习的时候,浮躁会使你失去很多。

在学习过程中,我很努力地使自己保持心理的平静,从基础学起,甚至是一些看上去完全没有必要的基础。

同学要扎扎实实,一步一个脚印的逐步学习,不要想着一步登天。

不然我问他的时候,他跟我讲的我也都不懂,这样对我也没用。

要多查API,它是Java编程的基本方法,也是编程过程中所不断利用的资源。

Java的学习过程不仅仅是基本语法的学习,更多的是去学习和掌握它所提供的API类库。

对于所接触到的类,方法,都去仔细去阅读文档的说明,再用自己编写的实例去此时一下。

而且不要只看而不练,学好java靠的还是实践,在一周两节的实验课要认真编程,不懂问同学或问李老师。

只有理论和实践相结合才能真正掌握只是和技能。

而且还要懂得运用百度和谷歌,遇到问题可以先搜索一下,实在不懂再找同学。

理论学习。

通过对理论的学习,尽量了解新知识的概念;学习之后只是粗略的了解概念,不能和实际很好的结合。

根据理论学习的知识,考虑在什么场合下可以应用这个新知识,哪些地方已经应用了这个概念,建立对新知识的感性认识。

java是一种面向对象的操作语言,必须要明白这点,才能从总体上把握java。

学习编程,首先要从分析别人的代码开始,明白他们的思路,认真分析,在学习的过程中一定要动手做、写代码,九比如说老师布置的试验作业,一定要自己做,不能抄同学的,首先不是为了应付老师,而是要让自己真正懂得java,这样慢慢的,以后的试验自己就又实力去做。

学习java不是抱一本书看看就行。

很多东西和体会必须自己动手才能真正属于自己,实践失最重要的。

而且还可以从实验中,体会到编程的乐趣,感受到自己做好一个程序,然后运行出结果,失很有成就感的

用java编写了一个最简单的计算器的实验报告怎么写

其实就是把你写程序之前的思路,然后是过程中的遇到的问题,和你是怎么解决的,写完之后的总结,基本就是这个思路了

java编写计算器的思路是怎样的

public class Cheshi extends JFrame { private Border border = BorderFactory.createEmptyBorder(5, 5, 5, 5); private JTextField textbox = new JTextField(0); private CalculatorCore core = new CalculatorCore(); private ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent e) { JButton b = (JButton) e.getSource(); String label = b.getText(); String result = core.process(label); textbox.setText(result); } }; public Cheshi(String title) throws HeadlessException { super(title); \\\/\\\/ 调用父类构造 setupFrame(); \\\/\\\/ 调整窗体 setupControls(); \\\/\\\/ 创建控件 } private void setupControls() { setupDisplayPanel(); \\\/\\\/ 创建文本面 setupButtonsPanel(); \\\/\\\/ 创建按钮面板 } \\\/\\\/ 创建按钮面板并添加按钮 private void setupButtonsPanel() { JPanel panel = new JPanel(); panel.setBorder(border); panel.setLayout(new GridLayout(4, 5, 3, 3)); createButtons(panel, new String[]{ 7, 8, 9, +, C, 4, 5, 6, -, CE, 1, 2, 3, *, , \\\/\\\/ 空字符示这个位置没有按钮 0, ., =, \\\/, }); this.add(panel, BorderLayout.CENTER); } \\\/** * 在指定的面板上创建按钮 * * @param panel 要创建按钮的面板 * @param labels 按钮文字 *\\\/ private void createButtons(JPanel panel, String[] labels) { for (String label : labels) { \\\/\\\/ 如果 label 为空,则表示创建一个空面板。

否则创建一个按钮。

if (label.equals()) { panel.add(new JPanel()); } else { JButton b = new JButton(label); b.addActionListener(listener); \\\/\\\/ 为按钮添加侦听器 panel.add(b); } } } \\\/\\\/ 设置显示面板,用一个文本框来作为计算器的显示部分。

private void setupDisplayPanel() { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(border); setupTextbox(); panel.add(textbox, BorderLayout.CENTER); this.add(panel, BorderLayout.NORTH); } \\\/\\\/ 调整文本框 private void setupTextbox() { textbox.setHorizontalAlignment(JTextField.RIGHT); \\\/\\\/ 文本右对齐 textbox.setEditable(false); \\\/\\\/ 文本框只读 textbox.setBackground(Color.white); \\\/\\\/ 文本框背景色为白色 } \\\/\\\/ 调整窗体 private void setupFrame() { this.setDefaultCloseOperation(EXIT_ON_CLOSE); \\\/\\\/ 当窗体关闭时程序结束 this.setLocation(100, 50); \\\/\\\/ 设置窗体显示在桌面上的位置 this.setSize(300, 200); \\\/\\\/ 设置窗体大小 this.setResizable(false); \\\/\\\/ 窗体大小固定 } \\\/\\\/ 程序入口 public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); Cheshi frame = new Cheshi(我的计算器); frame.setVisible(true); \\\/\\\/ 在桌面上显示窗体 } } \\\/** * 计算器核心逻辑。

这个逻辑只能处理 1~2 个数的运算。

*\\\/ class CalculatorCore { private String displayText = 0; \\\/\\\/ 要显示的文本 boolean reset = true; private BigDecimal number1, number2; private String operator; private HashMap operators = new HashMap(); private HashMap processors = new HashMap(); CalculatorCore() { setupOperators(); setupProcessors(); } \\\/\\\/ 为每种命令添加处理方式 private void setupProcessors() { processors.put([0-9], new Processor() { public void calculate(String command) { numberClicked(command); } }); processors.put(\\\\\\\\., new Processor() { public void calculate(String command) { dotClicked(); } }); processors.put(=, new Processor() { public void calculate(String command) { equalsClicked(); } }); processors.put([+\\\\\\\\-*\\\/], new Processor() { public void calculate(String command) { operatorClicked(command); } }); processors.put(C, new Processor() { public void calculate(String command) { clearClicked(); } }); processors.put(CE, new Processor() { public void calculate(String command) { clearErrorClicked(); } }); } \\\/\\\/ 为每种 operator 添加处理方式 private void setupOperators() { operators.put(+, new Operator() { public BigDecimal process(BigDecimal number1, BigDecimal number2) { return number1.add(number2); } }); operators.put(-, new Operator() { public BigDecimal process(BigDecimal number1, BigDecimal number2) { return number1.subtract(number2); } }); operators.put(*, new Operator() { public BigDecimal process(BigDecimal number1, BigDecimal number2) { return number1.multiply(number2); } }); operators.put(\\\/, new Operator() { public BigDecimal process(BigDecimal number1, BigDecimal number2) { return number1.divide(number2, 30, RoundingMode.HALF_UP); } }); } \\\/\\\/ 根据命令处理。

这里的命令实际上就是按钮文本。

public String process(String command) { for (String pattern : processors.keySet()) { if (command.matches(pattern)) { processors.get(pattern).calculate(command); break; } } return displayText; } \\\/\\\/ 当按下 CE 时 private void clearErrorClicked() { if (operator == null) { number1 = null; } else { number2 = null; } displayText = 0; reset = true; } \\\/\\\/ 当按下 C 时,将计算器置为初始状态。

private void clearClicked() { number1 = null; number2 = null; operator = null; displayText = 0; reset = true; } \\\/\\\/ 当按下 = 时 private void equalsClicked() { calculateResult(); number1 = null; number2 = null; operator = null; reset = true; } \\\/\\\/ 计算结果 private void calculateResult() { number2 = new BigDecimal(displayText); Operator oper = operators.get(operator); if (oper != null) { BigDecimal result = oper.process(number1, number2); displayText = result.toString(); } } \\\/\\\/ 当按下 +-*\\\/ 时(这里也可以扩展成其他中间操作符) private void operatorClicked(String command) { if (operator != null) { calculateResult(); } number1 = new BigDecimal(displayText); operator = command; reset = true; } \\\/\\\/ 当按下 . 时 private void dotClicked() { if (displayText.indexOf(.) == -1) { displayText += .; } else if (reset) { displayText = 0.; } reset = false; } \\\/\\\/ 当按下 0-9 时 private void numberClicked(String command) { if (reset) { displayText = command; } else { displayText += command; } reset = false; } \\\/\\\/ 运算符处理接口 interface Operator { BigDecimal process(BigDecimal number1, BigDecimal number2); } \\\/\\\/ 按钮处理接口 interface Processor { void calculate(String command); } }代码 只要步骤的话看注释就行了

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片