栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Cocos2d-x

6.4

Cocos2d-x 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6.4

##################################################

目录

详解 break/continue 跳转语句

b/c 跳转语句对二重循环的影响

break 示例程序

contiune 示例程序

continue 搭配 break

模拟 ATM 机


##################################################

详解 break/continue 跳转语句

——————————

b/c 跳转语句对二重循环的影响

        break/continue 还记得吗?

        当我们希望在某种条件下 想让程序 不按正常流程执行
        可以用 break/continue
        但是这个跳转在二重循环中 起到什么作用呢?。。

        当 break/continue 在内循环时 只会影响内循环的执行流程
        而不会对外循环的执行流程有丝毫影响

 所以 她们的不同 仅仅是程序的跳转位置不同

    break
break 会跳出本层循环 提前结束此循环代码段
break 会直接跳出整个内循环代码段 即 结束此 遍 内循环
忘了吗?外跑一趟,内跑一遍!
执行在内循环后的代码段 若没有 则跳到外循环继续执行

	continue
continue 是跳出本次循环 继续下一次循环
内循环中的 continue 就是 结束此次循环 继续下一次内循环
完全不影响内循环块以外的代码段

——————————

break 示例程序

        需求:

你的 MM 要求你跟着逛街 一共有 10 家店 每家限购 5 件衣服
你的 MM 要求 必须把这十家店逛完
一家店买 5 件衣服 只要不离开 就一直买 5 件衣服。。
中途退出就买 1 件衣服
那 一共买了 几件衣服?。。

        demo:

C:UsersbymejavaTest>javac test.java

C:UsersbymejavaTest>java test
欢迎光临第 1 家店 : 灰太狼娃娃店
要离开吗?(y/n) <<< n
。。买了 5 件衣服

要离开吗?(y/n) <<< n
。。买了 5 件衣服

要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 2 家店 : 喜阳阳店
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 3 家店 : 一路向西
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 4 家店 : 一路向东
要离开吗?(y/n) <<< n
。。买了 5 件衣服

要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 5 家店 : 一路欢喜
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 6 家店 : 一路嘻哈
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 7 家店 : 牛仔专卖店
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 8 家店 : 拖拉板子
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 9 家店 : 风中的黄裤衩
要离开吗?(y/n) <<< y
还好,只买了一件。。

欢迎光临第 10 家店 : 冯提莫儿
要离开吗?(y/n) <<< n
。。买了 5 件衣服

要离开吗?(y/n) <<< y
还好,只买了一件。。

一共买了 30 件衣服 555..
.

C:UsersbymejavaTest>

        code:

import java.util.Scanner;

public class test {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int count = 0;    
		String out = "";    
		String Shop[] = new String[] { "灰太狼娃娃店", "喜阳阳店",
			"一路向西", "一路向东",
			"一路欢喜", "一路嘻哈",
			"牛仔专卖店", "拖拉板子",
			"风中的黄裤衩", "冯提莫儿" };    

		for ( int i = 1; i <= 10; i ++ ) {

			System.out.println ( "欢迎光临第 " + i + " 家店 : " + Shop[i-1] );

			for ( int j = 1; j <= 10; j ++ ) {

				System.out.print ( "要离开吗?(y/n) <<< " );
				out = input.next();

				if ( out.equals("y") )
				
					break;

				
				System.out.println ( "。。买了 5 件衣服n" );
				count += 5;    
			}

			System.out.println ( "还好,只买了一件。。n" );
			count ++;
		}

		System.out.println ( "一共买了 " + count + " 件衣服 555.." );
		out = input.next();    
	}
}

——————————

contiune 示例程序

        需求:

计算积分在 100 点积分以上的用户有几个?

        demo:

C:UsersbymejavaTest>javac test.java

C:UsersbymejavaTest>java test
请输入一共有几组用户 <<< 3
请输入每组有几个用户 <<< 5

请输入 5 个用户的积分 当前,第 1 组
第 1 位用户的积分 <<< 76
第 2 位用户的积分 <<< 58
第 3 位用户的积分 <<< 109
第 4 位用户的积分 <<< 103
第 5 位用户的积分 <<< 300
第 1 组用户平均积分为 >>> 129.2

请输入 5 个用户的积分 当前,第 2 组
第 1 位用户的积分 <<< 56
第 2 位用户的积分 <<< 32
第 3 位用户的积分 <<< 87
第 4 位用户的积分 <<< 65
第 5 位用户的积分 <<< 90
第 2 组用户平均积分为 >>> 66.0

请输入 5 个用户的积分 当前,第 3 组
第 1 位用户的积分 <<< 120
第 2 位用户的积分 <<< 23
第 3 位用户的积分 <<< 454
第 4 位用户的积分 <<< 56
第 5 位用户的积分 <<< 7
第 3 组用户平均积分为 >>> 132.0

积分在 100 分以上的用户 有 5 人

C:UsersbymejavaTest>

        code:

import java.util.*;

public class test {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int money_P = 0;    
		double SUM = 0.0;    

		
		System.out.print ( "请输入一共有几组用户 <<< " );
		int group = input.nextInt();
		double sum[] = new double[group];    

		
		System.out.print ( "请输入每组有几个用户 <<< " );
		int user_num = input.nextInt();
		int user[] = new int[user_num];    

		System.out.println();
		for ( int i = 0; i < group; i ++ ) {
		

			SUM = 0.0;    

			System.out.println ( "请输入 " + user_num + " 个用户的积分 当前,第 " + (i + 1) + " 组" );
			for ( int j = 0; j < user.length; j ++ ) {
			

				System.out.print ( "第 " + (j + 1) + " 位用户的积分 <<< " );
				user[j] = input.nextInt();

				SUM += user[j];    

				if ( user[j] < 100 )
				
					continue;    
				money_P ++;    
			}

			sum[i] = SUM / user.length;    
			System.out.println ( "第 " + (i + 1) + " 组用户平均积分为 >>> "
				+ sum[i] + "n" );
		}
		System.out.println ( "积分在 100 分以上的用户 有 " + money_P + " 人" );
	}
}

        改进一下程序

        升级需求:

循环录入用户积分然后计算用户平均积分
积分在 100 以上的有几人
添加一个功能:
积分大于 90 的用户平均分有多少?

        demo:

C:UsersbymejavaTest>javac test.java

C:UsersbymejavaTest>java test
请输入一共有几组用户 <<< 4
请输入每组有几个用户 <<< 2

请输入 2 个用户的积分 当前,第 1 组
第 1 位用户的积分 <<< 100
第 2 位用户的积分 <<< 200
第 1 组用户平均积分为 >>> 150.0

请输入 2 个用户的积分 当前,第 2 组
第 1 位用户的积分 <<< 56
第 2 位用户的积分 <<< 32
第 2 组用户平均积分为 >>> 44.0

请输入 2 个用户的积分 当前,第 3 组
第 1 位用户的积分 <<< 79
第 2 位用户的积分 <<< 92
第 3 组用户平均积分为 >>> 85.5

请输入 2 个用户的积分 当前,第 4 组
第 1 位用户的积分 <<< 132
第 2 位用户的积分 <<< 99
第 4 组用户平均积分为 >>> 115.5

积分在 100 分以上的用户 有 3 人
积分大于 90 的用户平均分 为 49 %

C:UsersbymejavaTest>java test
请输入一共有几组用户 <<< 4
请输入每组有几个用户 <<< 2

请输入 2 个用户的积分 当前,第 1 组
第 1 位用户的积分 <<< 100
第 2 位用户的积分 <<< 200
第 1 组用户平均积分为 >>> 150.0

请输入 2 个用户的积分 当前,第 2 组
第 1 位用户的积分 <<< 56
第 2 位用户的积分 <<< 32
第 2 组用户平均积分为 >>> 44.0

请输入 2 个用户的积分 当前,第 3 组
第 1 位用户的积分 <<< 79
第 2 位用户的积分 <<< 92
第 3 组用户平均积分为 >>> 85.5

请输入 2 个用户的积分 当前,第 4 组
第 1 位用户的积分 <<< 132
第 2 位用户的积分 <<< 99
第 4 组用户平均积分为 >>> 115.5

积分在 100 分以上的用户 有 3 人
积分大于 90 的用户平均分 为 49 %

C:UsersbymejavaTest>java test
请输入一共有几组用户 <<< 10
请输入每组有几个用户 <<< 5

请输入 5 个用户的积分 当前,第 1 组
第 1 位用户的积分 <<< 100
第 2 位用户的积分 <<< 200
第 3 位用户的积分 <<< 300
第 4 位用户的积分 <<< 400
第 5 位用户的积分 <<< 500
第 1 组用户平均积分为 >>> 300.0

请输入 5 个用户的积分 当前,第 2 组
第 1 位用户的积分 <<< 34
第 2 位用户的积分 <<< 54
第 3 位用户的积分 <<< 675
第 4 位用户的积分 <<< 54
第 5 位用户的积分 <<< 43
第 2 组用户平均积分为 >>> 172.0

请输入 5 个用户的积分 当前,第 3 组
第 1 位用户的积分 <<< 23
第 2 位用户的积分 <<< 43
第 3 位用户的积分 <<< 54
第 4 位用户的积分 <<< 65
第 5 位用户的积分 <<< 76
第 3 组用户平均积分为 >>> 52.2

请输入 5 个用户的积分 当前,第 4 组
第 1 位用户的积分 <<< 78
第 2 位用户的积分 <<< 65
第 3 位用户的积分 <<< 56
第 4 位用户的积分 <<< 76
第 5 位用户的积分 <<< 900
第 4 组用户平均积分为 >>> 235.0

请输入 5 个用户的积分 当前,第 5 组
第 1 位用户的积分 <<< 324
第 2 位用户的积分 <<< 45345
第 3 位用户的积分 <<< 565
第 4 位用户的积分 <<< 676
第 5 位用户的积分 <<< 56
第 5 组用户平均积分为 >>> 9393.2

请输入 5 个用户的积分 当前,第 6 组
第 1 位用户的积分 <<< 45
第 2 位用户的积分 <<< 4345
第 3 位用户的积分 <<< 34
第 4 位用户的积分 <<< 567
第 5 位用户的积分 <<< 54
第 6 组用户平均积分为 >>> 1009.0

请输入 5 个用户的积分 当前,第 7 组
第 1 位用户的积分 <<< 6565
第 2 位用户的积分 <<< 768
第 3 位用户的积分 <<< 34
第 4 位用户的积分 <<< 6565
第 5 位用户的积分 <<< 343
第 7 组用户平均积分为 >>> 2855.0

请输入 5 个用户的积分 当前,第 8 组
第 1 位用户的积分 <<< 232
第 2 位用户的积分 <<< 546
第 3 位用户的积分 <<< 76
第 4 位用户的积分 <<< 45
第 5 位用户的积分 <<< 43
第 8 组用户平均积分为 >>> 188.4

请输入 5 个用户的积分 当前,第 9 组
第 1 位用户的积分 <<< 4534
第 2 位用户的积分 <<< 454
第 3 位用户的积分 <<< 5456
第 4 位用户的积分 <<< 666
第 5 位用户的积分 <<< 777
第 9 组用户平均积分为 >>> 2377.4

请输入 5 个用户的积分 当前,第 10 组
第 1 位用户的积分 <<< 888
第 2 位用户的积分 <<< 999
第 3 位用户的积分 <<< 100
第 4 位用户的积分 <<< 10000
第 5 位用户的积分 <<< 1111
第 10 组用户平均积分为 >>> 2619.6

积分在 100 分以上的用户 有 29 人
积分大于 90 的用户平均分 为 222 %

C:UsersbymejavaTest>

        code:

import java.util.*;

public class test {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int money_P = 0;    
		double SUM = 0.0;    

		
		System.out.print ( "请输入一共有几组用户 <<< " );
		int group = input.nextInt();
		double sum[] = new double[group];    

		
		System.out.print ( "请输入每组有几个用户 <<< " );
		int user_num = input.nextInt();
		int user[] = new int[user_num];    

		int G[] = new int[100];    
		int G_num = 0;    

		System.out.println();
		for ( int i = 0; i < group; i ++ ) {
		

			SUM = 0.0;    
			System.out.println ( "请输入 " + user_num + " 个用户的积分 当前,第 " + (i + 1) + " 组" );

			for ( int j = 0; j < user.length; j ++ ) {
			

				System.out.print ( "第 " + (j + 1) + " 位用户的积分 <<< " );
				user[j] = input.nextInt();
				SUM = SUM + user[j];    

				if ( user[j] > 90 )
				
					G[j+1] = user[j];

				if ( user[j] < 100 )
				
					continue;

				money_P ++;    
			}

			sum[i] = SUM / user.length;    
			System.out.println ( "第 " + (i + 1) + " 组用户平均积分为 >>> "
				+ sum[i] + "n" );
		}

		System.out.println ( "积分在 100 分以上的用户 有 " + money_P + " 人" );
		for ( int i = 1; i <= G.length - 1; i ++ ) {

			if ( G[i] == 0 )
				break;

			G_num ++;
			G[0] = G[i];
		}

		System.out.println ( "积分大于 90 的用户平均分 为 " + (G[0]/G_num) + " %" );
	}
}

——————————

continue 搭配 break

        需求:

买商品 单价超过 100 以上的商品 享受 8 折优惠
一共有多少商品被打折?

        demo:

C:UsersbymejavaTest>javac test.java

C:UsersbymejavaTest>java test
有几个顾客 <<< 4
每人买了几个东东 <<< 2

请输入第 1 个人的 2 件东东的价格 <<<
99
100
第 1 个人一共有 0 件商品享受八折优惠..
还要继续吗?(y/n) >>> y

请输入第 2 个人的 2 件东东的价格 <<<
101
100
第 2 个人一共有 1 件商品享受八折优惠..
还要继续吗?(y/n) >>> y

请输入第 3 个人的 2 件东东的价格 <<<
200
300
第 3 个人一共有 2 件商品享受八折优惠..
还要继续吗?(y/n) >>> n

程序结束 ..

C:UsersbymejavaTest>

        code:

import java.util.Scanner;

public class test {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);
		System.out.print ( "有几个顾客 <<< " );
		int P = input.nextInt();;
		System.out.print ( "每人买了几个东东 <<< " );
		int W = input.nextInt();

		for ( int i = 0, count = 0; i < P; i ++ ) {
		

			System.out.println ( "n请输入第 " + (i + 1) + " 个人的 " + W + " 件东东的价格 <<< " );
			for ( int j = 0; j < W; j ++ ) {
			

				double M = input.nextDouble();    

				
				if ( M > 100.0 )
					count ++;
				if ( M < 100.0 )
					continue;
			}

			System.out.println ( "第 " + (i + 1) + " 个人一共有 " + count + " 件商品享受八折优惠.." );
			count = 0;    

			System.out.print ( "还要继续吗?(y/n) >>> " );
			String Y_N = input.next();

			if ( Y_N.equals( "n" ) )
				break;
			if ( Y_N.equals ( "y" ) )
				continue;
		}

		System.out.println ( "n程序结束 .." );
	}
}

——————————

模拟 ATM 机

        需求:

模拟 ATM 取款过程
密码最多输入 3 次 超过限制次数 则提示: 密码错误,请取卡
密码若正确 提示输入金额 一次 100 一次取钱最低为 0 最高 1000
如果符合要求 输出钱数 提示: 交易完成,请取卡
否则提示 重新输入金额

        demo:

C:UsersbymejavaTest>javac test.java

C:UsersbymejavaTest>java test
请输入密码 <<< 111
请输入密码 <<< 111
请输入密码 <<< 111
密码错误,请取卡!

C:UsersbymejavaTest>java test
请输入密码 <<< 111111
请输入金额 <<< 999
您输入的金额不合法,请重新输入 <<< 67
您输入的金额不合法,请重新输入 <<< 99
您输入的金额不合法,请重新输入 <<< 0
您取了 0 ¥
交易成功,请取卡!

C:UsersbymejavaTest>java test
请输入密码 <<< 111111
请输入金额 <<< 2000
您输入的金额不合法,请重新输入 <<< 1001
您输入的金额不合法,请重新输入 <<< 456
您输入的金额不合法,请重新输入 <<< 10000
您输入的金额不合法,请重新输入 <<< 100
您取了 100 ¥
交易成功,请取卡!

C:UsersbymejavaTest>

        code:

import java.util.*;

public class test {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int Pass = 000000, Amount = 0, Number_1 = 0, Number_2 = 0;

		for ( int i = 1; i <= 3; i ++ ) {
		

			System.out.print ( "请输入密码 <<< " );
			Pass = input.nextInt();

			if ( Pass != 111111 ) {
			

				if ( i == 3 )
				
					System.out.println ( "密码错误,请取卡!" );

				
				continue;
			}

			System.out.print ( "请输入金额 <<< " );
			
			for ( ; ; ) {
			

				Amount = input.nextInt();
				
				Number_1 = Amount % 10;    
				Number_2 = Amount / 10 % 10;    

				if ( (Amount < 0) || (Amount > 1000) || (Number_1 != 0) || (Number_2 != 0) ) {
				

					
					System.out.print ( "您输入的金额不合法,请重新输入 <<< " );
					continue;
				}

				
				System.out.println ( "您取了 " + Amount + " ¥n交易成功,请取卡!" );
				break;
			}

			
			break;
		}
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号