使用任意循环语句(练习)

【编程1

查询商品价格

需求说明

用户从控制台输入需要查询的商品的编号,根据编号显示对应的商品价格。假设商品名称和商品价T¥245.0,网球鞋¥570.0,网球拍¥320.0。

声明变量存储商品信息name(商品名称)、price(商品价格)和goodsNo(商品编号)、answer(是否继续)

循环查询商品价格。

输入“n”结束循环。

增加如下变量存储信息。

int amount=0;//购买数量

double discount=0.8;//折扣比例

double total=0.0;//品总价

double payment=0.0;//实付金额

循环输入商品编号和购买数量,系统自动计算每种商品的价钱(单价x购买数量),并累加到总金额。

当用户输入“n”时,表示需要结账,则退出循环开始结账。

结账时,根据折扣(假设享受八折优惠)计算应付金额,输入实付金额,计算找零。程序运行结果如图5.15所示。

import java.util.Scanner;

public class Shopping {
    public static void main(String[] args) {

        String name="";//商品名称
        double price;//商品价格
        double discount=0.8;//折扣比例
        double total=0.0;//商品总价
        double payment=0.0;//实付金额
        int goodsNO;//商品编号
        int amount;//购买数量

        //结算单头部
        System.out.println("MyShopping管理系统>购物结算");
        System.out.println("************************************");
        System.out.println("请选择购买的商品编号:");
        System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
        System.out.println("************************************");

        Scanner scanner =new Scanner(System.in);
        //使其可以从键盘输入
        System.out.println("请输入商品编号:");

        String answer="y";//answer是否继续


        if(scanner.hasNextInt()) {
            while(answer.equals("y")) {
                //equals用于比较输入的字符是否与我们定义的字符相等
                //当输入的answer为y时,继续,输入n时结束———》结账
                goodsNO=scanner.nextInt();
                //接收商品编号
                System.out.println("请输入购买数量:");
                amount=scanner.nextInt();
                //获取从键盘输入的值,放入循环中才能使输入的值进行运算

                switch (goodsNO) {
                    //用于输入商品编号的判断
                    //编号1
                    case 1:name="T恤";price=245;
                        System.out.println("T恤¥"+price+"\t数量"+amount+"\t合计¥"+price*amount);

                        total=total+price*amount;
                        break;

                    //编号2
                    case 2:name="网球鞋";price=570;
                        System.out.println("网球鞋¥"+price+"\t数量"+amount+"\t合计¥"+price*amount);
                        total=total+price*amount;
                        break;

                    //编号3
                    case 3:name="网球拍";price=320;
                        System.out.println("网球拍¥"+price+"\t数量"+amount+"\t合计¥"+price*amount);
                        total=total+price*amount;
                        break;
                }

                System.out.println("是否继续(y/n)");
                answer=scanner.next();
                //接收从键盘输入的值

            }
            System.out.println("\n折扣:"+discount);//打印出折扣
            double money=total*discount;
            //定义应付金额,应付金额=总价*折扣
            System.out.println("应付金额是"+money);
            System.out.println("实付金额为:");

            payment=scanner.nextDouble();
            //接收从键盘输入的实付金额
            System.out.println("找钱:"+(payment-money));
            //找钱:实付金额-应付金额

        }else {
            System.out.println("请输入正确的数字:");
        }


    }
}

【编程2

指导--统计顾客的年龄层次

需求说明

商场为了提高销售额,需要对顾客的年龄层次(30岁之上/30岁之下)进行调查(样本数为10),请计算这两个层次的顾客比例。

程序运行结果如图6.4所示。

实现思路

1定义计数器变量young,记录年龄30岁以下顾客的人数。

2利用循环录入10位顾客的年龄。

图6.4上机练习2的运行结果

代码:

import java.util.Scanner;
public class AgeLevel {
    public static void main(String[] args) {
        int sum1=0;
        int sum2=0;
        for(int young=1;young<=10;young++){
            System.out.print("请输入第"+young+"位顾客的年龄:");
            Scanner input = new Scanner(System.in);
            int age =input.nextInt();
            if(age>30){
                sum1++;
                System.out.println(sum1);
            }else{
                sum2++;
            }
        }
        double upage = sum1%10*10;
        double downage = sum2%10*10;
        System.out.println("30岁以下的比例是:"+upage+"%");
        System.out.println("30岁以上的比例是:"+downage+"%");
    }
}

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值