java变量、数据类型和运算符-4

简介: 练习——升级“我行我素购物管理系统”,实现打印购物小票和计算积分功能

上机练习2


练习——升级“我行我素购物管理系统”,实现打印购物小票和计算积分功能


需求说明


在上机练习1的基础上,实现以下需求。

♦结算时用户支付1500元,打印购物小票。


♦计算此次购物获得的会员积分(每消费100元可获得3分)。


♦程序运行结果如图2.9所示。


代码:


package cn.dbit.demo;
public class pay2 {
    /*
     * 购物结算、打印小票并计算积分
     */
    public static void main(String[] args) {
        int shirtPrice = 245; //T恤价格
        int shoePrice = 570;  //网球鞋价格
        int padPrice = 320;   //网球拍价格
        int shirtNo=2;        //T恤件数
        int shoeNo =1;        //运动鞋数目
        int padNo = 1;        //网球拍数目
        double discount = 0.8;
        /*计算消费总金额*/
        double finalPay = (shirtPrice * shirtNo + shoePrice * shoeNo + padPrice * padNo) * discount;
        //System.out.println("消费总金额:" + finalPay);
        /*计算找钱*/
        double returnMoney = 1500-finalPay;
        /*打印购物小票*/
        System.out.println("**********消费单**********");
        System.out.println("\t购买物品\t" + "\t单价\t" + "\t个数\t"+ "\t金额\t");
        System.out.println("\tT恤\t" + "\t\t¥"+shirtPrice+ "\t"  + shirtNo+ "\t" + "\t¥"+(shirtPrice * shirtNo)+"\t");
        System.out.println("\t网球鞋\t" + "\t¥"+shoePrice + "\t"+ shoeNo+ "\t" + "\t¥"+(shoePrice * shoeNo)+ "\t");
        System.out.println("\t网球拍\t" + "\t¥"+padPrice + "\t"+ padNo+ "\t" + "\t¥"+(padPrice * padNo)+ "\t\n");
        System.out.println("折扣:\t8折");
        System.out.println("消费总金额\t" + "¥" + finalPay);
        System.out.println("实际交费\t¥1500");
        System.out.println("找钱\t" + "¥" + returnMoney);
        /*计算本次购物所获积分*/
        int score =  (int)finalPay / 100 * 3; //强制类型转换
        System.out.println("本次购物所获的积分是: " + score);}
}


结果展示:


提示:


使用 ”\t” 和 “\n” 控制购物小票的输出格式。

计算本次消费所获得的积分:所获积分=(int)消费总额*3/100o

在微软拼音输入法下,$键代表 “¥”。

上机练习3


指导——升级“我行我素购物管理系统”,模拟幸运抽奖


训练要点


运算符(%、/)的使用。

使用Scanner类接收用户输入。

关系运算符和boolean类型的用法。

需求说明


商场推出幸运抽奖活动,抽奖规则如下:

♦顾客的四位会员卡号的各位数字之和大于20,则为幸运顾客。


♦计算3569各位数字之和,程序运行结果如图2.10所示。


实现思路及关键代码


(1) 创建 Java 文件 GoodLuck.java。


(2) 使用Scanner类接收用户从控制台中输入的会员卡号,并保存在会员卡号变量中。


(3) 结合 "/" 和 "%" 运算符分解获得各个位上的数字。


例如:


int num = 5642;


用运算符%进行求余运算,num%10结果为2,即分解获得个位数字。


(4) 计算各数字之和。


参考解决方案:


package cn.dbit.demo;
import java.util.Scanner;
public class GoodLuck {
    /*
     * 幸运抽奖
     */
    public static void main(String[] args) {
        int custNo; // 客户会员号(说明:customer---客户)
        // 输入会员卡号
        System.out.println("请输入4位会员卡号:");
        Scanner input = new Scanner(System.in);
        custNo = input.nextInt();
        // 获得每位数字
        int gewei = custNo % 10; // 分解获得个位数
        int shiwei = custNo / 10 % 10; // 分解获得十位数
        int baiwei = custNo / 100 % 10; // 分解获得百位数
        int qianwei = custNo / 1000; // 分解获得千位数
        // 计算数字之和
        int sum = gewei + shiwei + baiwei + qianwei;
        System.out.println("会员卡号" + custNo + "各位之和: " + sum);
        boolean isLuck=sum>20;
        System.out.println("是幸运客户吗?" +isLuck);
    }
}




结果展示:


小技巧:使用另一种方法也可以分解获得各位数字。


qianwei = custNo / 1000;         // 分解获得千位数

baiwei = custNo % 1000 % 100;   // 分解获得百位数

shiwei = custNo % 100 / 10;      // 分解获得十位数

gewei = custNo % 10;              // 分解获得个位数


经验:同一个问题可能有多个解决方法,建议开拓思路,大胆尝试,并举一反三。


上机练习4


指导——升级“我行我素购物管理系统”,实现判断商品折扣价格


训练要点


关系运算符的使用。

boolean类型的使用。

需求说明


从键盘上接收商品折扣,并判断商品享受此折扣后价格是否低于100,程序运行结果如图2.11所示。


实现思路及关键代码


(1) 声明变量存储商品价格信息。


(2) 从键盘上接收折扣,并保存。


(3) 计算商品享受折扣后的价格。


(4) 输出商品折扣后,价格是否低于100。


参考解决方案


package cn.dbit.demo;
import java.util.Scanner;
public class Pay3 {
    /*
     * 商品打折
     */
    public static void main(String[] args) {
        int shirtPrice = 245; //T恤价格
        int shoePrice = 570;  //网球鞋价格
        int padPrice = 320;   //网球拍价格
        Scanner input = new Scanner(System.in);
        System.out.println("请输入折扣:");
        double discount =input.nextDouble(); //商品折扣
        //计算商品享受折扣后的价格
        double shirtPriceDis = shirtPrice*discount; //T恤折扣价
        double shoePriceDis = shoePrice*discount;  //网球鞋折扣价
        double padPriceDis = padPrice*discount;   //网球拍折扣价
        //判断商品折后价是否低于100
        boolean shirtPriceDisBool=shirtPriceDis<100;
        boolean shoePriceDisBool=shoePriceDis<100;
        boolean padPriceDisBool=padPriceDis<100;
        System.out.println("T恤折扣价低于100吗?" + shirtPriceDisBool);
        System.out.println("网球鞋折扣价低于100吗?" + shoePriceDisBool);
        System.out.println("网球拍折扣价低于100吗?" + padPriceDisBool);
    }
}

bef963c36a054c929878a40f72ff6d44.png

相关文章
|
9天前
|
Java C语言 C++
课时9:Java数据类型划分(数据类型划分)
课时9介绍了Java的数据类型划分及其操作。Java数据类型分为基本数据类型和引用数据类型。基本数据类型包括八种:数值型(整形、浮点型)、字符型和布尔型;引用数据类型有数组、类和接口。重点讲解了每种数据类型的默认值、适用场景及选择原则,如整数用int,小数用double,日期时间用Long等。掌握这些内容对编程至关重要。
课时9:Java数据类型划分(数据类型划分)
|
9天前
|
Java
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
44 17
|
9天前
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
41 15
|
8天前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
8天前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
|
7天前
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
26 6
|
8天前
|
Java
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
|
8天前
|
Java
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
|
8天前
|
Java
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容
|
8天前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。

热门文章

最新文章