12. 循环结构-do while循环
【摘要】 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)