实验◆三流程控制【参考程序】//输入奖票号码,如果符合要求则输出中奖信息, //输入over表示退出,每张奖票2元钱,输出买了多少张奖票,花了多少钱。 import java.util.Scanner; public class Exam3_1 { public static void main(String[] args) { String ticket;//奖票号码 int count=0;//奖票数量 Scanner scan=new Scanner(System.in);//创建输入对象,默认输入流 //System.in表示键盘 while(true) {//重复输入奖票号码 System.out.println("-------------------------"); System.out.println("请输入奖票号码: "); ticket=scan.nextLine();//从输入流读取一行 if("over".equalsIgnoreCase(ticket))//退出循环 break; count=count+1;//奖票数量增加1 if("f(F)".equalsIgnoreCase(ticket)) {//一等奖号码 System.out.println("恭喜你中了一等奖,奖品: 奥迪Q5"); }else if("s(S)".equalsIgnoreCase(ticket)) {//二等奖号码 System.out.println("恭喜你中了二等奖,奖品: 吉利博越"); }else if("t(T)".equalsIgnoreCase(ticket)) {//三等奖号码 System.out.println("恭喜你中了三等奖,奖品: 奇瑞QQ"); }else{ System.out.println("很遗憾,你没有中奖,继续努力!"); } } System.out.println("您买了"+count+"张奖票,花了人民币: "+(count2)+ "元"); } }2) 制作学生管理系统控制台菜单 【解题思路】 (1) 利用输出语句打印控制台菜单。 (2) 利用while循环语句重复接收用户输入的整数fun。 (3) 利用switch语句对输入的整数fun进行判断,并根据判断结果输出提示信息。 (4) 如果输入的整数为0,退出while语句,结束程序。 【参考程序】//学生管理系统控制台菜单 import java.util.Scanner; public class Exam3_2 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int fun=-1; while (true) {//反复接收用户输入的数据 System.out.println("学生管理系统"); System.out.println("----1. 查询-----"+"-----2. 增加-----"); System.out.println("----3. 修改-----"+"-----4. 删除-----"); System.out.println("----0. 退出-----"); System.out.println("学生管理系统"); System.out.println("请输入菜单号: 0~4\\n"); fun=scan.nextInt();//输入一个整数 switch (fun) {//对输入整数进行判断 case 1: System.out.println("查询学生信息\\n"); break; case 2: System.out.println("增加学生信息\\n"); break; case 3: System.out.println("修改学生信息\\n"); break; case 4: System.out.println("删除学生信息\\n"); break; default: System.out.println("请输入菜单号0~4\\n"); } if (0==fun) {//退出循环语句,结束程序 System.out.println("====将要退出系统===="); break; } } } }3) 处理随机整数 【解题思路】 (1) 构造随机数产生器Random对象,重复调用nextInt(100)方法产生不大于100的整数aInt。 (2) 第一个条件下,如果50≤aInt≤60则调用continue语句继续产生下一个随机数。 (3) 第二个条件下,利用break退出外层循环,结束程序。 (4) 第三个条件下,定义sum为double,根据公式1+1/2+…+1/aInt求sum。 (5) 第四个条件下,i取值为1~aInt/2,如果aInt%i为0则输出i。 【参考程序】/  产生若干不大于100的随机整数n,进行如下处理:  (1) 如果50≤n≤60则重新产生随机整数;  (2) 如果产生被7整除的整数,则停止产生随机数,退出程序;  (3) 如果n是奇数,计算s=1+1/2+…+1/n;  (4) 如果n是偶数,输出该偶数的所有因子。 / public class Exam3_3 { public static void main(String[] args) { System.out.println("---------------------"); int aInt=0; Random ran=new Random();//构造随机数产生器对象 while(true) {//重复处理 aInt=ran.nextInt(100);//产生不大于100的整数 if(50<=aInt && aInt<=60)//条件1: 如果为50~60,重新产生 continue; if(0==aInt%7) {//条件2: 能被7整除 System.out.println("\\n产生了被7整除的整数: "+aInt); break; } if(1==aInt%2) {//条件3: 如果随机数是奇数,计算1+1/2+1/3+...+1/n System.out.println("\\n产生奇数: "+aInt); double sum=0.0; for(int i=1;i<=aInt;i++) { sum=1.0/i+sum; } System.out.println("1+1/2+1/3+...+1/"+aInt+"="+sum); }else {//条件4: 如果随机数是偶数,输出该偶数的所有因子 System.out.println("\\n产生偶数: "+aInt+",因子是:"); for(int i=1;i<=aInt/2;i++) { if(0==aInt%i) {//如果aInt被i整数,则i是aInt的因子 System.out.print(i+""); } } } } System.out.println("----------------------"); } }4. 实验总结 本实验中,通过if elseif else语句完成多种条件下执行不同语句的选择判断功能;利用switch语句实现多路分支语句结构,需要注意switch的判断条件是byte、short、int或者char类型,不能是float或者double类型。在循环语句中,利用break能够跳出本层循环语句,continue语句能够使程序流程跳转到循环语句开始位置。while(true)是死循环结构,在满足一定条件时使用break跳出该while语句。