实验报告(2013/2014学年第2学期)课程名称JAVA语言程序设计实验名称Java异常处理的程序设计、GUI综合应用开发实验时间2014年4月22日指导单位计算机学院/软件学院软件工程系指导教师朱云霞学生姓名谢某某班级学号学院(系)人文与社会科学学院专业公共事业管理1实验名称Java异常处理的程序设计、GUI综合应用开发指导教师朱云霞实验类型上机实验学时3实验时间2014-4-22一、实验目的1.熟练掌握Java中String和StringBuffer类的使用2.掌握Java中的异常处理机制,会编写简单程序3.了解和掌握Java中的2D图形绘制方法4.了解和掌握Java中GUI组件和界面化设计二、实验环境(实验设备)1.每位学生配备计算机一台2.计算机需安装好JDK和Jcreator三、实验内容1.从键盘输入字符串”Todayisahappyday!”,统计字符串包含多少个字母’a’,并将该字符串所有字母转换成大写字母输出。publicclassSy21{publicstaticvoidmain(Stringargs[]){Strings=newString(Todayisahappyday!);intcount=0;for(inti=0;is.length();i++){if(s.charAt(i)=='a')count++;}System.out.println(字母a的个数是:+count);System.out.println(s.toUpperCase());}}22.随机产生50个1-100之间的整数,存放于一个105的二维数组中,要求按照105的格式打印这个数组(即共显示10行,每行5个数,数与数之间间隔一个空格),并求出该数组所有元素之和。publicclassSy22{publicstaticvoidmain(Stringargs[]){inta1[][]=newint[10][5];intsum=0;for(inti=0;i10;i++){for(intj=0;j5;j++){intrand=(int)(Math.random()*100+1);3a1[i][j]=rand;sum+=a1[i][j];System.out.print(a1[i][j]+);}System.out.println();}System.out.println(这个数组的总和为:+sum);}}43.从键盘输入两个数,进行相除,显示商。当输入串中含有非数字时或除数为0时,通过异常处理机制,使程序能正确运行。importjavax.swing.JOptionPane;publicclassSy23{publicstaticvoidmain(Stringargs[]){Stringinput1=JOptionPane.showInputDialog(pleaseinputfirstnumber:);Stringinput2=JOptionPane.showInputDialog(pleaseinputsecondnumber:);try{intn1=Integer.parseInt(input1);intn2=Integer.parseInt(input2);intdiv=n1/n2;JOptionPane.showMessageDialog(null,结果是+div,结果,JOptionPane.PLAIN_MESSAGE);}catch(NumberFormatExceptione){JOptionPane.showMessageDialog(null,Pleaseinputnumeric5digits!,提示,JOptionPane.PLAIN_MESSAGE);}catch(ArithmeticExceptione){JOptionPane.showMessageDialog(null,Divisionbyzero!,提示,JOptionPane.PLAIN_MESSAGE);}System.exit(0);}}64.编写一个程序,以随机颜色绘制随机大小的填充型椭圆(提示:使用Graphic类的fillOval方法)。importjava.awt.*;importjavax.swing.*;publicclassSy24extendsJFrame{publicvoidpaint(Graphicsg){intx1,y1,w,h;for(inti=0;i100;i++){x1=(int)(Math.random()*400);7y1=(int)(Math.random()*400);w=(int)(Math.random()*100);h=(int)(Math.random()*100);g.setColor(newColor((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256)));g.fillOval(x1,y1,w,h);}}publicstaticvoidmain(Stringargs[]){Sy24window=newSy24();window.setSize(500,500);window.setVisible(true);window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}895.编写一个Applet,利用两个文本框对象input1和input2,接收用户从键盘输入的两个整型数。当用户单击“计算”按钮时,可进行算术计算,并输出运算结果;运算结果放在多行文本域JTextArea组件中。GUI界面参考教材184页9.6小题。importjavax.swing.*;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.*;importjava.awt.font.*;publicclassArithmeticOperatorextendsJAppletimplementsActionListener{JLabelprompt;JTextFieldinput1,input2;JTextAreaoutput;JButtonbtn;publicvoidinit()10{Containercontainer=getContentPane();container.setLayout(newFlowLayout());prompt=newJLabel(请输入两个整型数据);input1=newJTextField(5);input2=newJTextField(5);btn=newJButton(计算);output=newJTextArea(5,20);output.setEditable(false);container.add(prompt);container.add(input1);container.add(input2);container.add(btn);container.add(output);btn.addActionListener(this);}publicvoidactionPerformed(ActionEvente){inta,b;a=Integer.parseInt(input1.getText());b=Integer.parseInt(input2.getText());intplus,minus;plus=a+b;minus=a-b;Strings1=a+++b+=+plus+\n;11s1+=a+-+b+=+minus+\n;s1+=a+*+b+=+(a*b)+\n;s1+=a+/+b+=+(a/b)+\n;s1+=a+%+b+=+(a%b)+\n;output.setText(s1);}}HTMLHEAD/HEADBODYBGCOLOR=000000CENTERAPPLETcode=ArithmeticOperator.classwidth=300height=300/APPLET/CENTER/BODY/HTML121314四、实验小结(包括问题和解决方法、心得体会等)经过这次实验后,自己比上次进步了不少,能够熟练地运行程序,动手编写程序的能力不断提高。但这一次,最收获的是与同学齐心协力合作的友谊,从中伙伴们交流思想,互相借鉴,取长补短,大大增进了此次实验完成的速率。比如自己在运行J-creator时由于对此全英界面的不熟悉,经常手足无措,但幸好总是有热心的小伙伴在旁指导,自己终于体会到成功的喜悦。同时,JAVA编辑画图的功能大大激发起自己对JAVA学习的兴趣,原来JAVA不仅是运行黑白的代码和一连串数字,它的功能是如此宽泛,集数图标于一身。自己会在今后的学习中更深入掌握它的编译技巧,让自己学有小成。五、指导教师评语成绩批阅人日期