12. 循环结构-do while循环

举报
数据分析与统计学之美 发表于 2021/09/28 18:08:40 2021/09/28
【摘要】 Java系列第十二课

1、do while循环

1)do wilie循环语法

在这里插入图片描述

2)习题1

在这里插入图片描述

Ⅰ 使用while循环

操作如下:

import java.util.Scanner;
public class Demo12 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		String name = "a";  // 这里给name一个初始条件
    		while (name.equals("q") == false){
    			System.out.print("请输入学员的姓名:");
    			name = superman.next();
    		}
	}
}

结果如下:
在这里插入图片描述

Ⅱ 使用do while循环

操作如下:

import java.util.Scanner;
public class Demo1 {
    	public static void main(String[] args) {
    		String name;
    		Scanner superman = new Scanner(System.in);
    		do{
    			System.out.print("请输入学员的姓名:");
    			name = superman.next();
    		}while (!(name.equals("q")));   // 为true,继续执行循环;否则跳出循环。
	}
}

结果如下:在这里插入图片描述

2)习题2在这里插入图片描述

具体需求如下:
在这里插入图片描述
代码如下:

import java.util.Scanner;
public class Demo3 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		System.out.println("请输入选择购买的商品编号:");
                System.out.println("         商品列表        ");
    		System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
    		System.out.println("*********************************");
    		int num;
    	String str;
    	String str1;
    	System.out.print("是否想继续,请输入y/n:");
    	str = superman.next();
    	switch (str){
    	case "y":
    		System.out.println("-----------*____*-------------");
    		do{
    			System.out.print("请输入商品编号:");
    			num = superman.nextInt();
    			switch (num){
    			case 1:
    				System.out.println("T恤\t245.0元");
    				break;
    			case 2:
    				System.out.println("网球鞋\t570.0元");
    				break;
    			case 3:
    				System.out.println("网球拍\t320.0元");
    				break;
    			}
    			System.out.print("是否想继续,请输入y/n:");
    			str1 = superman.next();
    		}while (!str1.equals("n"));
    		System.out.println("退出程序");
    		break;
    	case "n":
    		System.out.println("退出程序");
    		break;
    	}
	}
}

结果如下:
在这里插入图片描述
我们也可以什么都不查看直接退出。
在这里插入图片描述
我们还可以只查看其中几种产品后,再退出。
在这里插入图片描述

3)习题3:升级版本小系统

在这里插入图片描述
代码如下:

import java.util.Scanner;
public class Demo5 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		System.out.println("请输入选择购买的商品编号:");
    		System.out.println("         商品列表        ");
    		System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
    		System.out.println("*********************************");
    		int num;
    	int num2;
    	double buyMoney1,buyMoney2,buyMoney3;
    	double buysum = 0;
    	double discount = 0.8;
    	double payMoney;
    	double refund;
    	String str;
    	String str1;
    	System.out.print("是否想继续,请输入y/n:");
    	str = superman.next();
    	switch (str){
    	case "y":
    		System.out.println("-----------*____*-------------");
    		do{
    			System.out.print("请输入商品编号:");
    			num = superman.nextInt();
    			switch (num){
    			case 1:
    				System.out.println("T恤\t245.0元");
    				System.out.print("请输入购买数量:");
    				num2 = superman.nextInt();
    				buyMoney1 =(double) 245.0 * num2;
    				System.out.println("T恤支付的总金额为:" + buyMoney1 +"元");
    				buysum += buyMoney1;
    				break;
    			case 2:
					System.out.println("网球鞋\t570.0元");
					System.out.print("请输入购买数量:");
					num2 = superman.nextInt();
					buyMoney2 = (double) 570.0 * num2;
					System.out.println("网球鞋支付的总金额为:" + buyMoney2 +"元");
					buysum += buyMoney2;
					break;
				case 3:
					System.out.println("网球拍\t320.0元");
					System.out.print("请输入购买数量:");
					num2 = superman.nextInt();
					buyMoney3 = (double) 320.0 * num2;
					System.out.println("网球拍支付的总金额为:" + buyMoney3 +"元");
					buysum += buyMoney3;
					break;
                }
    			System.out.print("是否想继续,请输入y/n:");
    			str1 = superman.next();
    		}while (!str1.equals("n"));
    	
			if (buysum != 0){
				System.out.println("打折之前收费:" + buysum);
				buysum *= discount;
				System.out.println("金额总计:" + buysum);
				System.out.println("请输入您的实际缴费金额:");
				payMoney = superman.nextDouble();
				refund = payMoney - buysum;
				System.out.println("找钱:" + refund);
			}
    		System.out.println("退出程序");
    		break;
		case "n":
			System.out.println("退出程序");
			break;
		}
	}
}

结果如下:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。