1、第3章 Java程序流程控制第3章 Java程序流程控制实验1 三种基本程序结构【实验目的】(1)掌握Java中顺序语句、选择语句及循环语句的使用。(2)熟练掌握用三种基本程序结构及相关的变量、表达式、运算符及有关类的方法来解决问题的思想。【实验要求】(1)设置MyEclipse的当前工作空间为D:java。(2)在MyProject3项目中创建GuessNumber类,并实现猜数游戏。(3)编写程序WhileLoop实现用while结构求0100整数数字之和。(4)编写程序DoWhileLoop实现用do-while结构求0100整数数字之和。(5)编写程序ForLoop实现用for结构求0
2、100整数数字之和。(6)求三个数中的最大值和最小值。 【实验内容】(1)启动MyEclpise并设置MyEclipse的工作空间为D:java。(2)创建MyProject3项目并在该项目创建GuessNumber类,实现猜数游戏。利用Math.random()方法产生1100的随机整数,利用JOptionPane.showInputDialog()方法产生一个输入对话框,用户可以输入所猜的数。若所猜的数比随机生成的数大,则显示“猜大了,再输入你的猜测:”;若所猜的数比随机生成的数小,则显示“猜小了,再输入你的猜测:”;若所猜的数正好为随机生成的数,则显示“猜对了!”。(3)在MyProje
3、ct3项目中创建WhileLoop类,用while结构求0100的整数数字之和。(4)在MyProject3项目中创建DoWhileLoop类,用do -while结构求0100的整数数字之和。(5)在MyProject3项目中创建ForLoop类,用for结构求0100的整数数字之和。(6)在MyProject3项目中创建MaxMinDemo类,求给定三个数中的最大值和最小值并输出这两个值。【实验步骤】1.设置MyEclipse的工作空间为D:java(1)单击【开始】|【所有程序】|【MyEclipse】|【MyEclipse 8.5】选项启动MyEclipse。(2)在出现的当前工作空间
4、设置对话框中输入“D:java”,并按【OK】按钮进入MyEclipse工作界面。2.创建MyProject3项目并创建GuessNumber类实现猜数游戏(1)单击【File】|【New】|【Java Project】选项打开【New Java Project】对话框。在【Project name】文本框中输入“MyProject3”,单击【Finish】按钮关闭对话框。(2)单击【File】|【Class】命令打开新建类的对话框,在【Name】文本框中输入“GuessNumber”,并分别选中“public static void main(String args)”和“Generate
5、comments”以自动产生main主方法及程序的相关注释,单击【Finish】按钮。(3)在代码编辑器中输入以下代码并补全程序段。(4)运行并调试程序,观察运行结果。知识提示 Math类是数学类,提供了一些常用的数学方法,如求平方根方法sqrt()。Math.random()方法主要用于生成01的随机小数(不包括1)。Integer.parseInt()方法主要用于将字符串型转换为整型。3.在MyProject3项目中创建WhileDemo类以实现0100之和(1)单击【File】|【Class】选项打开新建类的对话框,在【Name】文本框中输入“WhileDemo”,并分别选中“publi
6、c static void main(String args)”和“Generate comments”以自动产生main主方法及程序的相关注释,单击【Finish】按钮。(2)在代码编辑器中输入以下代码并补全程序段。(3)运行并调试程序,观察运行结果。4.在MyProject3项目中创建DoWhileDemo类以实现0100之和(1)在MyProject3项目中创建DoWhileDemo类。(2)在代码编辑器中输入以下代码并补全程序段。(3)运行并调试程序,观察运行结果。5.在MyProject3项目中创建ForLoop类以实现0100之和(1)在MyProject3项目中创建ForLoop
7、类。(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循环语句改写本程序,并调
8、试运行程序。【扩展练习】(1)从键盘输入一个字符,若该字符为小写字母,则输出“此字符是小写字母”;若为大写字母,则输出“此字符为大写字母”;否则输出“此字符不是字母”。知识提示 利用 BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);String str=buf.readLine; 实现从键盘上输入字符,但要注意的是输入的字符均为字符串。(2)根据变量score中存放的考试分数输出对应的等级。60分以下为D等;6069分为C等;7089分为B等;90100分为A等。3. 输出九九乘法表的程序,源
9、代码如下:程序运行结果如图3-1所示,思考如何将乘法表的标题行和内容对齐?试修改程序并运行。图3-1 程序运行结果(3)计算并输出的阶乘(设10),程序由学生独立完成。(4)编写程序,输出1100的所有奇数,程序由学生独立完成。(提示:满足表达式(i%2!=0)的值为奇数。)(5)编写程序,打印100以内的所有素数,要求每行打印5个素数。实验2 数组【实验目的】(1)掌握数组的定义及初始化方法。(2)掌握循环结构与数组相结合解决问题的方法。(3)理解数组下标和数组元素间的关系。(4)掌握命令行参数数组的使用args。【实验要求】(1)采用多种方式完成一维及二维数组的定义。(2)利用不等长二维数
10、组打印星号。(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
11、)在代码编辑器中输入以下代码并补全程序段。(3)运行并调试程序,在以上代码基础上利用循环对数组元素完成赋值操作。2.利用不等长二维数组打印星号(1)在MyProject3项目中创建PrintStar类。(2)在代码编辑器中输入以下代码并补全程序段。public class PrintStar public static void main(String args) int snow=new int5; for(int i=0;i_;i+) snowi=new_; for(int i=0;isnow.length;i+) for(int j=0;_;j+) snowij=*; int n=1;
12、for(int i=0;isnow.length;i+) for(int k=0;k_;k+) System.out.print( ); for(int j=0;jb&ac) _; else if(bc) _; else _; System.out.println(三个数中最大的是:+max); (3)在MyEclipse环境下运行程序,观察结果。(4)在命令提示符状态下运行程序,观察结果。(5)修改程序,完成求解两个命令行参数的最大值和最小值。【扩展练习】(1)编程实现求Fibonacci数列的前10个数字。Fibonacci数列的定义为:F1=1, F2=1, ,Fn=Fn-1+Fn-2 (n=3)知识提示 关键代码如下: f0=f1=1; for(i=2;i10;i+) fi=fi-1+fi-2;(2)编程:采用冒泡法实现对数组元素由小到大排序。知识提示 冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。关键代码如下: for(i=0;iintArray.length-1;i+) for(j=i+1;jintArrayj) t=intArrayi;intArrayi=intArrayj;intArrayj=t;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1