第3章 Java程序流程控制.docx
- 文档编号:27889706
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:16
- 大小:375.70KB
第3章 Java程序流程控制.docx
《第3章 Java程序流程控制.docx》由会员分享,可在线阅读,更多相关《第3章 Java程序流程控制.docx(16页珍藏版)》请在冰豆网上搜索。
第3章Java程序流程控制
第3章Java程序流程控制
实验1三种基本程序结构
【实验目的】
(1)掌握Java中顺序语句、选择语句及循环语句的使用。
(2)熟练掌握用三种基本程序结构及相关的变量、表达式、运算符及有关类的方法来解决问题的思想。
【实验要求】
(1)设置MyEclipse的当前工作空间为D:
\java。
(2)在MyProject3项目中创建GuessNumber类,并实现猜数游戏。
(3)编写程序WhileLoop实现用while结构求0~100整数数字之和。
(4)编写程序DoWhileLoop实现用do-while结构求0~100整数数字之和。
(5)编写程序ForLoop实现用for结构求0~100整数数字之和。
(6)求三个数中的最大值和最小值。
【实验内容】
(1)启动MyEclpise并设置MyEclipse的工作空间为D:
\java。
(2)创建MyProject3项目并在该项目创建GuessNumber类,实现猜数游戏。
利用Math.random()方法产生1~100的随机整数,利用JOptionPane.showInputDialog()方法产生一个输入对话框,用户可以输入所猜的数。
若所猜的数比随机生成的数大,则显示“猜大了,再输入你的猜测:
”;若所猜的数比随机生成的数小,则显示“猜小了,再输入你的猜测:
”;若所猜的数正好为随机生成的数,则显示“猜对了!
”。
(3)在MyProject3项目中创建WhileLoop类,用while结构求0~100的整数数字之和。
(4)在MyProject3项目中创建DoWhileLoop类,用do-while结构求0~100的整数数字之和。
(5)在MyProject3项目中创建ForLoop类,用for结构求0~100的整数数字之和。
(6)在MyProject3项目中创建MaxMinDemo类,求给定三个数中的最大值和最小值并输出这两个值。
【实验步骤】
1.设置MyEclipse的工作空间为D:
\java
(1)单击【开始】|【所有程序】|【MyEclipse】|【MyEclipse8.5】选项启动MyEclipse。
(2)在出现的当前工作空间设置对话框中输入“D:
\java”,并按【OK】按钮进入MyEclipse工作界面。
2.创建MyProject3项目并创建GuessNumber类实现猜数游戏
(1)单击【File】|【New】|【JavaProject】选项打开【NewJavaProject】对话框。
在【Projectname】文本框中输入“MyProject3”,单击【Finish】按钮关闭对话框。
(2)单击【File】|【Class】命令打开新建类的对话框,在【Name】文本框中输入“GuessNumber”,并分别选中“publicstaticvoidmain(String[]args)”和“Generatecomments”以自动产生main主方法及程序的相关注释,单击【Finish】按钮。
(3)在代码编辑器中输入以下代码并补全程序段。
(4)运行并调试程序,观察运行结果。
8知识提示Math类是数学类,提供了一些常用的数学方法,如求平方根方法sqrt()。
Math.random()方法主要用于生成0~1的随机小数(不包括1)。
Integer.parseInt()方法主要用于将字符串型转换为整型。
3.在MyProject3项目中创建WhileDemo类以实现0~100之和
(1)单击【File】|【Class】选项打开新建类的对话框,在【Name】文本框中输入“WhileDemo”,并分别选中“publicstaticvoidmain(String[]args)”和“Generatecomments”以自动产生main主方法及程序的相关注释,单击【Finish】按钮。
(2)在代码编辑器中输入以下代码并补全程序段。
(3)运行并调试程序,观察运行结果。
4.在MyProject3项目中创建DoWhileDemo类以实现0~100之和
(1)在MyProject3项目中创建DoWhileDemo类。
(2)在代码编辑器中输入以下代码并补全程序段。
(3)运行并调试程序,观察运行结果。
5.在MyProject3项目中创建ForLoop类以实现0~100之和
(1)在MyProject3项目中创建ForLoop类。
(2)在代码编辑器中输入以下代码并补全程序段。
(3)运行并调试程序,观察运行结果。
6.在MyProject3项目中创建MaxMinDemo类,并求三个数的最大值与最小值
(1)在MyProject3项目中创建MaxMinDemo类。
(2)在代码编辑器中输入以下代码并补全程序段。
(3)运行并调试程序,观察运行结果。
7.创建NumDemo类并输出1到1000之间所有可以被3整除又可以被7整除的数
(1)在MyProject3项目中创建NumDemo类。
(2)在代码编辑器中输入以下代码并补全程序段。
(3)运行并调试程序,观察运行结果。
(4)分别使用while和do-while循环语句改写本程序,并调试运行程序。
【扩展练习】
(1)从键盘输入一个字符,若该字符为小写字母,则输出“此字符是小写字母”;若为大写字母,则输出“此字符为大写字母”;否则输出“此字符不是字母”。
8知识提示利用BufferedReaderbuf;
buf=newBufferedReader(newInputStreamReader(System.in)));
Stringstr=buf.readLine;
实现从键盘上输入字符,但要注意的是输入的字符均为字符串。
(2)根据变量score中存放的考试分数输出对应的等级。
60分以下为D等;60~69分为C等;70~89分为B等;90~100分为A等。
3.输出九九乘法表的程序,源代码如下:
程序运行结果如图3-1所示,思考如何将乘法表的标题行和内容对齐?
试修改程序并运行。
图3-1程序运行结果
(3)计算并输出n的阶乘(设n=10),程序由学生独立完成。
(4)编写程序,输出1~100的所有奇数,程序由学生独立完成。
(提示:
满足表达式(i%2!
=0)的i值为奇数。
)
(5)编写程序,打印100以内的所有素数,要求每行打印5个素数。
实验2数组
【实验目的】
(1)掌握数组的定义及初始化方法。
(2)掌握循环结构与数组相结合解决问题的方法。
(3)理解数组下标和数组元素间的关系。
(4)掌握命令行参数数组的使用args。
【实验要求】
(1)采用多种方式完成一维及二维数组的定义。
(2)利用不等长二维数组打印星号。
(3)利用命令行参数args[0]与args[1]实现参数输出。
(4)利用命令行参数数组args求3个整数的最大值。
【实验内容】
(1)在MyProject3项目中创建ArrayDeclare类,采用多种方式完成一维及二维数组的定义。
(2)在MyProject3项目中创建PrintStar类,主要利用不等长二维数组snow打印5行星号,第1行为1个星号,第2行为3个星号,第三行为5个星号,第4行为7个星号,第5行为9个星号,程序运行结果如图3-2所示。
图3-2程序运行结果
(1)
【实验步骤】
1.一维及二维数组的定义
(1)在MyProject3项目中创建ArrayDeclare类。
(2)在代码编辑器中输入以下代码并补全程序段。
(3)运行并调试程序,在以上代码基础上利用循环对数组元素完成赋值操作。
2.利用不等长二维数组打印星号
(1)在MyProject3项目中创建PrintStar类。
(2)在代码编辑器中输入以下代码并补全程序段。
publicclassPrintStar{
publicstaticvoidmain(String[]args){
int[][]snow=newint[5][];
for(inti=0;i<___________;i++)
snow[i]=new_________________;
for(inti=0;i for(intj=0;_____________;j++){ snow[i][j]='*'; } } intn=1; for(inti=0;i for(intk=0;k<______________;k++){ System.out.print(""); } for(intj=0;j ____________________________; System.out.println(); ________________; } } } (3)运行并调试程序。 若让输出的星号均靠左对齐,如何修改上面程序段? (4)若要输出如图3-3所示的图形,应该在原有程序基础上增加哪些代码段? 试修改并调试程序。 图3-3程序运行结果 (2) (5)将第4步中实现的程序再做修改,实现如图3-4所示的输出效果。 图3-4程序运行结果(3) 3.利用两个命令行参数args[0]与args[1]实现参数输出 (1)在MyProject3项目中创建Say类。 (2)在代码编辑器中输入以下代码: publicclassSay{ publicstaticvoidmain(Stringargs[]){ Stringname=args[0]; Stringword=args[1]; System.out.println("我想对"+name+"悄悄地说: "+word); } } (3)运行程序,结果如图3-5所示。 程序在运行过程中出错了,数组下标越界异常,不能正常执行。 图3-5程序运行结果(4) (4)如图3-6所示,单击【Run】|【RunConfigurations…】选项,打开【RunConfigurations】对话框。 图3-6【RunConfigurations】对话框 (5)在【RunConfigurations】对话框中选择【Arguments】选项卡,在【Programarguments】下的文本框中输入两个参数,如图3-7所示。 单击【Run】命令按钮,运行程序。 图3-7【RunConfigurations】对话框 (6)程序运行结果如图3-8所示。 图3-8程序运行结果 (7)在命令提示符状态下运行本程序,需要单击【开始】|【运行】,打开【运行】对话框,在其中的文本框中输入“cmd”打开命令提示符窗口。 (8)如图3-9所示,输入相应命令进入D: \java\ch3\MyProject3\src目录。 图3-9命令提示符窗口 (9)如图3-10所示,输入命令“javacSay.java”编译文件,然后输入“javaSay妈妈我爱你! ! ”命令运行文件。 其中“妈妈”是第一个命令行参数,送给args[0];“我爱你! ! ”是第二个命令行参数,送给args[1]。 图3-10java命令运行程序 4.利用3个命令行参数求3个整数的最大值 (1)在MyProject3项目中创建NumMax类。 (2)在代码编辑器中输入以下代码: publicclassNumMax{ publicstaticvoidmain(Stringargs[]){ intmax; inta=Integer.parseInt(args[0]); intb=Integer.parseInt(args[1]); intc=Integer.parseInt(args[2]); if(a>b&&a>c) ___________; elseif(b>c) ___________; else ___________; System.out.println("三个数中最大的是: "+max); } (3)在MyEclipse环境下运行程序,观察结果。 (4)在命令提示符状态下运行程序,观察结果。 (5)修改程序,完成求解两个命令行参数的最大值和最小值。 【扩展练习】 (1)编程实现求Fibonacci数列的前10个数字。 Fibonacci数列的定义为: F[1]=1,F[2]=1,…, F[n]=F[n-1]+F[n-2 ] (n>=3) 8知识提示关键代码如下: f[0]=f[1]=1; for(i=2;i<10;i++) f[i]=f[i-1]+f[i-2]; (2)编程: 采用冒泡法实现对数组元素由小到大排序。 8知识提示冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。 关键代码如下: for(i=0;i for(j=i+1;j if(intArray[i]>intArray[j]){ t=intArray[i];intArray[i]=intArray[j];intArray[j]=t; } [此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 Java程序流程控制 Java 程序 流程 控制