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

  • Post author:
  • Post category:其他







【编程






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+"%");
    }
}



版权声明:本文为m0_67780078原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。