20190723——循环结构(for,while,dowhile)、关键字(break,continue,return)——三次登录机会

一、知识点
2.循环结构
2.1.循环结构三种方式: for循环,while循环,dowhile循环
2.2.for循环的语法
for(表达式一;表达式二; 表达式三){
循环体内容;
}
执行顺序:1 执行表达1 , 2 执行表达二进行判断如果判断为真,3 执行循环体 4,执行表达式三 , 5 执行表达式二执行判断如果判断为真,则重复3,4,5步骤,如果判断为假则退出for循环
表达式一:循环条件的初始信息
表达式二:循环的判断条件(必须要产生一个 boolean值才能判断)
表达式三:循环变量的值变化(只有循环变量的值发生了变化,才有可能让表达式二的结果为false,停止循环,否则就是死循环)
在循环中容易出现累加求和的内容,累加求和同类型的代码必须要赋初始值
//输入10为同学的成绩,计算总成绩和平均成绩
int sum =0;
for(int i = 0;i< 10;i++){
System.out.println(“第”+(i+1)+“学生的成绩”);
int score = input.nextInt();
sum += score; //累加求和sum = sum +score;
}
int avg = sum / 10 ;
System.out.println(“总成绩是:” + sum +",平均成绩是:"+ avg);

	//鸡兔同笼:上有头35只,下有脚94 问鸡兔各几
	//默认i 就是是鸡的个数,  则兔子的个数就是   35 - i; 
	//然后通过判断脚的个数是否等于94即可得出鸡兔各几个
	for(int i =1;i<=35;i++){
		int tu = 35-i;
		if(i*2 + tu*4 == 94){
			System.out.println("鸡的个数:"+ i+",兔子的个数是:"+tu);
		}
	}

注意点:一般用于固定次数的循环
在for循环中三个表达式的位置是可以出现在其它地方的,但分号不能去除
//for循环的的变体(for循环中三个表达式中的位置可以省略,但分号不能省略)
int i = 1;
for(; ?{
if(i< 35){
}
i++;
}

2.3.在循环结构中三个关键字的用法:break,continue,return;
2.3.1.break; 终止循环,进入循环之后的代码执行
//break的使用,输入10为同学的成绩,计算总成绩和平均成绩(如果存在异常数据,则终止循环)
int sum = 0;
boolean isRight = true;
for(int i = 0;i<10;i++){
System.out.println(“请输入第”+(i+1)+“同学的成绩”);
int score = input.nextInt();
if(score < 0){
isRight = false;
break;
}
sum += score; //累加求和
}
if(isRight == true){
int avg = sum / 10;
System.out.println(“总成绩是:”+ sum +",平均成绩是:" + avg);
}else{
System.out.println(“输入的成绩不能为负数”);
}

2.3.2.Continue;结束本次循环,进入下一次循环
//break的使用,输入10为同学的成绩,(如果存在异常数据,则终止循环)
//统计80分之上的同学的总成绩和平均成绩
int sum = 0;
boolean isRight = true;
int count=0; //用于记录80分以上的学生人数
for(int i = 0;i<10;i++){
System.out.println(“请输入第”+(i+1)+“同学的成绩”);
int score = input.nextInt();
if(score < 0){
isRight = false;
break;
}
if(score<80){
continue; //本次循环到此到此结束,进入下一次循环
}
sum += score; //累加求和
count++; //人数加一
}

	if(isRight == true){
		int avg = sum / 10;
		System.out.println("总成绩是:"+ sum +",平均成绩是:" + avg);
	}else{
		System.out.println("输入的成绩不能为负数");
	}

2.3.3.Return 返回,一般用于方法的的结束,虽然也可以用于循环以及判断中,但结束的是整个方法

2.3.4.简单案例(用户登录的时候一共有三次机会,如果成功则循环结束)
//用户输入三次登录的机会
String old_userid = “赵丽丽”;
String old_userpwd = “123456”;

	for(int i = 0;i<3;i++){
		System.out.println("请输入用户名:");
		String userid = input.nextLine();
		System.out.println("请输入用户密码:");
		String userpwd = input.nextLine();	
		//判断输入的是否正确
		if(userid.equals(old_userid) && userpwd.equals(old_userpwd)){
			System.out.println("登录成功,欢迎"+ userid);
			break;  //输入正确结束循环
		}else if(i<2) {
			System.out.println("今日还有"+(2-i)+"次机会");
		}else{
			System.out.println("三次机会以耗尽");
		}
		
	}

二、综合练习——幸运抽奖
任务:模拟注册登录幸运抽奖全过程

主要功能
注册
登录
幸运抽奖

阶段1:实现菜单的输出显示
需求说明
输出菜单
选择菜单编号,输出菜单信息
如果编号选择错误,输出“您的输入有误!”

在这里插入图片描述
菜单输出的显示结果

阶段2:实现循环执行功能
需求说明
系统询问用户是否继续
如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统
在这里插入图片描述

						实现循环执行功能

阶段3:实现注册功能
需求说明
输入用户名和密码,系统产生4位随机数作为卡号。
注册成功,显示注册信息并修改注册标识为true

在这里插入图片描述

					注册功能的运行结果

阶段4:实现登录功能
需求说明
输入注册时的用户名和密码,登录成功,系统提示欢迎信息
如果用户名和密码输入错误,提示用户继续输入,最多有3次输入机会

在这里插入图片描述

					登录功能的运行结果

阶段5:实现幸运抽奖功能
需求说明
登录成功后,用户选择幸运抽奖菜单,进入幸运抽奖功能
输入会员卡号,系统生成5个4位随机数作为幸运数字
生成随机数的号码: int num =(int)(Math.random()*8999+1000);
如果会员卡号是其中之一,则成为本日幸运会员;否则不是幸运会员

在这里插入图片描述

							幸运抽奖功能的运行结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值