java程序设计基础实验30
- 格式:docx
- 大小:18.15 KB
- 文档页数:2


JA V A编程实例大全及详解答案(50例)【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println("第1个月的兔子对数: 1");System.out.println("第2个月的兔子对数: 1");int f1 = 1, f2 = 1, f, M=24;for(int i=3; i<=M; i++) {f = f2;f2 = f1 + f2;f1 = f;System.out.println("第" + i +"个月的兔子对数: "+f2);}}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
public class lianxi02 {public static void main(String[] args) {int count = 0;for(int i=101; i<200; i+=2) {boolean b = false;for(int j=2; j<=Math.sqrt(i); j++){if(i % j == 0) { b = false; break; }else { b = true; }}if(b == true) {count ++;System.out.println(i );}}System.out.println( "素数个数是: " + count);}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
任务实训3 Java基础程序设计一、实训目的1.熟悉Java语言;2.熟悉Java语言Applet和Application应用程序;二、实训内容实部和虚部的数据。
三、实训步骤1、启动eclipse。
2、新建一个项目,项目名称为MyJava,存放在自己建立的文件夹下。
(具体操作步骤可以再复习一下任务二的内容)3、通过选择[文件]菜单中的[新建文件]命令,实现创建Java Application程序或Applet。
四、编程题。
预备知识(1) 字符方式下数据的输出System.out.println(数据);其中,数据可以是任何类型,利用“+”可以将字符串与任意类型数据进行拼接。
(2) 图形方式下数据的绘制g.drawString(字符串,x,y);功能:在x,y位置绘制一个字符串。
g.setColor(Color c);功能:设置画笔的颜色。
g.drawLine(x1,y1,x2,y2)功能:从x1,y1到x2,y2绘制一条直线。
其中,g代表Graphics对象(画笔),x,y为输出坐标位置。
基础题1)编写一个程序输出如下图案****** ************* *** ********* ** ****** ** ****** ** ****** ** ************ ** ** ****** ** ** ****** ** ** ********* **************2)编制applet程序,绘制一个长120、宽80的红色矩形,并在矩形内部绘制一个兰色内切椭圆。
提高题1)编写一个应用程序绘制一个如下的操作菜单。
*****************************| 1. 增加1个学生 || 2. 显示所有学生 || 3. 退出程序 || 请输入选择(1-3): |*****************************2)创建一个applet程序,绘制两个同心圆,圆心显示“同心”两个汉字。
java课程设计实验报告一一实验目的加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。
在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。
在对Java程序的调试过程中,提高学生分析程序中出现的错误与排除这些错误的能力。
通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。
二、实验要求(1)问题描述准确、规范;(2)程序结构合理,调试数据准确、有代表性;(3)界面布局整齐,人机交互方便;(4)输出结果正确;(5)正确撰写实验报告。
三、设计内容11、计算器计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算与混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。
允许正负数间的运算。
要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。
22、文本编辑器可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。
其她功能参照windows的文本编辑器。
四四.实验步骤(1)上机实验之前,为课程设计的内容作好充分准备。
对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。
(2)按照实验目的与实验内容进行上机操作。
录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。
(3)根据实验结果,写出实验报告。
五、、源代码及运行结果1.计算器源代码importjava、awt、*;importjava、awt、event、*;importjava、lang、*;importjavax、swing、*;publicclassjisuanqiextendsWindowAdapter{//创建三个面板Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();TextFieldtxt;privateButton[]b=newButton[21];privateStringss[]={"7","8","9","/","清空","4","5","6","*","1/x","1","2","3","-","平方","0","、","=","+","n!","关闭"};staticdoublea,sum=1;staticStrings,str;//定义变量创建对像//创建文本框publicstaticvoidmain(Stringargs[]){(newjisuanqi())、frame();}publicvoidframe(){//设置文本框的名称Framefm=newFrame("简单计算器");for(inti=0;i<=20;i++){b[i]=newButton(ss[i]);}for(inti=0;i<=19;i++){p2、add(b[i]);//创建按钮并添加到P2}//按钮20背景色黄色b[20]、setBackground(Color、yellow);txt=newTextField("");txt、setEditable(false);//不能编辑文本框里面的内容txt、setBackground(Color、white);for(inti=0;i<=20;i++){b[i]、addActionListener(newbuttonlistener());//添加监听器}//设置关闭按钮b[20]、addActionListener(newclose());fm、addWindowListener(this);p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North");//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);将三个面板分别放到不同位置fm、add(p1,"North");fm、add(p2,"Center");fm、add(p3,"South");fm、pack();fm、setVisible(true);//都就是些窗中设置添加相关组件与监听器}publicvoidwindowClosing(WindowEvente){System、exit(0);//退出系统}classbuttonlistenerimplementsActionListener{//编写监听器事件通过按键得出给果publicvoidactionPerformed(ActionEvente){Buttonbtn=(Button)e、getSource();if(btn、getLabel()=="="){jisuan();str=String、valueOf(a);txt、setText(str);//显示当前数字s="";//清零}elseif(btn、getLabel()=="+"){//设置一个方法jisuan();txt、setText("");s="+";}elseif(btn、getLabel()=="-"){jisuan();txt、setText("");s="-";}elseif(btn、getLabel()=="/"){jisuan();txt、setText("");s="/";}elseif(btn、getLabel()=="*"){jisuan();txt、setText("");s="*";}elseif(btn、getLabel()=="平方"){a=Double、parseDouble(txt、getText()); a*=a;txt、setText(""+String、valueOf(a)); }elseif(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;for(inti=1;i<=a;i++)sum=sum*i;txt、setText(""+String、valueOf(sum));}elseifbtn、getLabel()=="1/x"){a=Double、parseDouble(txt、getText());txt、setText(""+String、valueOf(1/a));}else{txt、setText(txt、getText()+btn、getLabel()); if(btn、getLabel()=="清空")txt、setText("");}}publicvoidjisuan(){//编写具体计算方法if(s=="+")a+=Double、parseDouble(txt、getText()); elseif(s=="-")a-=Double、parseDouble(txt、getText()); elseif(s=="*")a*=Double、parseDouble(txt、getText()); elseif(s=="/")a/=Double、parseDouble(txt、getText()); elsea=Double、parseDouble(txt、getText()); }}}classcloseimplementsActionListener {//退出publicvoidactionPerformed(ActionEvente) {System、exit(0);}}、2、计算器运行界面(11)计算器主界面(22)面板的实现11、创建三个面板分别就是显示数字的面板、按钮的面板与“关闭”的面板Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();22、创建一个文本框参数TextFieldtxt;33、创建一群按钮参数并给按钮赋值privateButton[]b=newButton[21];privateStringss[]={"7","8","9","/","清空","4","5","6","*","1/x","1","2","3","-","平方","0","、","=","+","n!","关闭"};44、创建文本框publicstaticvoidmain(Stringargs[]){(newjisuanqi())、frame();}55、设置文本框方法publicvoidframe(){//设置文本框的名称Framefm=newFrame("简单计算器");66、设置按钮for(inti=0;i<=20;i++){b[i]=newButton(ss[i]);}77、设将按钮添加到面板for(inti=0;i<=19;i++){p2、add(b[i]);//创建按钮并添加到P2}88、设置按钮020背景色黄色b[20]、setBackground(Color、yellow);99、创建文本框,,并规定不能编辑内容与背景为白色txt=newTextField("");txt、setEditable(false);txt、setBackground(Color、white);10、为按钮添加监听器for(inti=0;i<=20;i++){b[i]、addActionListener(newbuttonlistener());//添加监听器}11、设置“关闭”按钮可以关闭界面并设置监听器b[20]、addActionListener(newclose());fm、addWindowListener(this);12、设置布局p1、setLayout(newBorderLayout());//设置布局管理器p1、add(txt,"North");//p1面板放到区域南部p2、setLayout(newGridLayout(4,5,2,2));//布局:四行五列,间隔为二p2、setBackground(Color、red);p3、setLayout(newBorderLayout());p3、add(b[20]);13、将三个面板分别放到不同位置fm、add(p1,"North");fm、add(p2,"Center");fm、add(p3,"South");fm、pack();fm、setVisible(true);//都就是些窗中设置添加相关组件与监听器}14、退出系统publicvoidwindowClosing(WindowEvente){System、exit(0);}(33)将按钮添加到计算这个事件中11、编写监听器事件通过按键得出给果publicvoidactionPerformed(ActionEvente){//将按钮赋予这个事件中Buttonbtn=(Button)e、getSource();22、如果点击“==”这个按钮,,将出现当前数字if(btn、getLabel()=="="){jisuan();str=String、valueOf(a);txt、setText(str);//显示当前数字s="";//清零}33、如果点击“++”“--”“**”“//”分别完成一个方法并将结果显示到文本框elseif(btn、getLabel()=="+"){//设置一个方法jisuan();txt、setText("");s="+";}elseif(btn、getLabel()=="-") {jisuan();txt、setText("");s="-";}elseif(btn、getLabel()=="/") {jisuan();txt、setText("");s="/";}elseif(btn、getLabel()=="*"){jisuan();txt、setText("");s="*";}44、如果点击“平方”则当前数字与原数字形成即完成相关方法结果显示最终的数字elseif(btn、getLabel()=="平方"){a=Double、parseDouble(txt、getText());a*=a;txt、setText(""+String、valueOf(a));//显示a}55、当输入“nn!”,,就用rfor循环完成阶乘,,此方法属于cc语言基础方法,,不做相关解释elseif(btn、getLabel()=="n!"){a=Double、parseDouble(txt、getText());sum=1;//归一for(inti=1;i<=a;i++)sum=sum*i;txt、setText(""+String、valueOf(sum));//文本框中显示“sum”的数值}66、当输入“1/x”时,,显示1/a。
实验三Java基本程序设计(2)实验三 Java基本程序设计(2)实验时间 2018-9-13、实验⽬的与要求(1)进⼀步掌握Eclipse集成开发环境下java程序开发基本步骤;(2)熟悉PTA平台线上测试环境;(3)掌握Java语⾔构造基本程序语法知识(ch1-ch3);(4)利⽤已掌握Java语⾔基本程序设计知识,学习设计开发含有⼀个主类、类内可有多个⽅法的应⽤程序。
2、实验内容和步骤实验2-实验3在课后完成实验2:公民⾝份证号码按照GB11643—1999《公民⾝份证号码》国家标准编制,由18位数字组成:前6位为⾏政区划分代码,第7位⾄14位为出⽣⽇期码,第15位⾄17位为顺序码,第18位为校验码。
从键盘输⼊1个⾝份证号,将⾝份证号的年⽉⽇抽取出来,按年-⽉-⽇格式输出。
注意:输⼊使⽤Scanner类的nextLine()⽅法,以免出错。
输⼊样例:340800************输出样例:1981-08-19实验结果如下:import java.util.Scanner;public class ID1 {public static void main(String[] args){System.out.println("请输⼊⾝份证号18位!");Scanner scanner=new Scanner(System.in);String ID=scanner.nextLine();while(ID.length()!=18){System.out.println("⾝份证号码必须是18位");ID=scanner.nextLine();}int i=6;String year = ID.substring(i,i+4);String month=ID.substring(i+4,i+6);String day=ID.substring(i+6,i+8);System.out.println(year+"-"+month+"-"+day);}}实验可能出现的两种结果如下图所⽰:实验3:studentfile.txt⽂件内容是本班同学的学号与姓名,利⽤此⽂件编制⼀个程序,将studentfile.txt⽂件的信息读⼊到内存,并提供两类查询功能:(1)输⼊姓名查询学号;(2)输⼊学号查询姓名。