循环 3.1 循环

3.1.1

1.循环版售票机

1.在2.2中的版本

		//初始化
		Scanner in = new Scanner(System.in);
		//读入投币金额
		System.out.println("请投币");
		int amount = in.nextInt();
		if(amount>=10)
		{
		//打印车票
		System.out.println("****************");
		System.out.println("Java城际铁路专线");
		System.out.println("*  无指定座位票  *");
		System.out.println("*   票价: 10元 *");
		System.out.println("****************");
		//计算并找零
		System.out.println("找零:"+(amount-10));
		}

这样的只能运行一次就结束了,但我们希望能重复使用

a,选中需要循环的部分

		System.out.println("请投币");
		int amount = in.nextInt();
		if(amount>=10)
		{
		//打印车票
		System.out.println("****************");
		System.out.println("Java城际铁路专线");
		System.out.println("*  无指定座位票  *");
		System.out.println("*   票价: 10元 *");
		System.out.println("****************");
		//计算并找零
		System.out.println("找零:"+(amount-10));
		}

b,然后按tap键 可以把选中的部分一起往后推进
c,加上while(true) {} 就可以循环运行了

		Scanner in = new Scanner(System.in);
		//读入投币金额
		while(true)
		{
			System.out.println("请投币");
			int amount = in.nextInt();
			if(amount>=10)
			{
			//打印车票
			System.out.println("****************");
			System.out.println("Java城际铁路专线");
			System.out.println("*  无指定座位票  *");
			System.out.println("*   票价: 10元 *");
			System.out.println("****************");
			//计算并找零
			System.out.println("找零:"+(amount-10));
			}
		}

2.循环版2.0(可以累积投币)

			Scanner in = new Scanner(System.in);
		int balance = 0;
		//balance是累次的钱,amount是这次投入了多少钱
		while(true)
		{
			//读入投币金额
			System.out.println("请投币");
			int amount = in.nextInt();
			balance = balance + amount;
			if( balance >= 10 )
			{
				//打印车票
				System.out.println("****************");
				System.out.println("Java城际铁路专线");
				System.out.println("*  无指定座位票  *");
				System.out.println("*   票价: 10元 *");
				System.out.println("****************");
				//计算并找零
				System.out.println("找零:"+(balance-10));
				balance = 0;
				
			}
			
		}

(打印车票并找零后记得把balance清零)

3.1.2

1.判断数字的位数

		Scanner in = new Scanner(System.in);
		int number = in.nextInt();
		int count = 0;
		while(number>0)
		{
			number = number / 10;
			count = count + 1;
		}
		System.out.println(count);

3.1.3

1.表格变量
2.调试
3.带入边界变量(当带入0时,结果为0,错误)

3.1.4

要解决0的问题,可以先进行循环体里的内容,然后再判断条件是否满足,用do-while循环即可

		Scanner in = new Scanner(System.in);
		int number = in.nextInt();
		int count = 0;
		do
		{
			number = number / 10;
			count = count + 1;
		}while(number>0);
		System.out.println(count);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值