JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第四天
努力刷题,每日三题,题目来源于《Java课后实战训练手册》----清华大学出版社。
【JAVA刷题集|刷题的狂欢-----JAVA每日三练-----第四天】第一题
使用 Integer 类的常用方法,指出条形码“6936983800013”中的“商品的国家代码”、“商品的生产厂商代码”、“商品的厂内商品代码”和“校验码”,运行结果如下图所示。
文章图片
//标准答案
public class Barcode {
// 创建一个Barcode类
public static void main(String[] args) {String code = "6936983800013";
// 初始化一个String类型的变量code,给出一个十三位的条形码
System.out.println("解析条形码“6936983800013”的含义:");
String country = code.substring(0, 3);
// 截取字符串,并将截取到的字符串给String类型的变量country
int countryNum = Integer.parseInt(country);
// 把String类型的变量country传唤为int类型的变量countryNum
if (countryNum > 690 && countryNum < 695) {
// 判断countryNum是否同时满足这两个条件
System.out.println(countryNum + ":\t" + "表示该商品的产地是中国大陆");
// 条件成立时,输出的信息(“\t”:光标移动到下一个水平制表)
} else {System.out.println(countryNum + ":\t" + "表示该商品的产地是其他国家");
// 条件不成立时,输出的信息
}
System.out.println(code.substring(3, 8) + ":\t" + "表示该商品的生产厂商代码");
// 输出截取到的字符串,及其代表的含义
System.out.println(code.substring(8, 12) + ":\t" + "表示该商品的厂内商品代码");
// 输出截取到的字符串,及其代表的含义
System.out.println(code.substring(12) + ":\t" + "表示校验码");
// 输出截取到的字符串,及其代表的含义
}
}
补充 substring 的用法:
substring() 方法返回字符串的子字符串。
语法如下:
public String substring(int beginIndex)
或
public String substring(int beginIndex, int endIndex)
beginIndex --> 起始索引(包括), 索引从 0 开始。
endIndex --> 结束索引(不包括)。
第二题
对于double类型(基本类型)的数据,可以直接使用普通的运算符来进行比较,如“= =”。然而,对于Double类型(引用类型)却不行。引用类型如果使用“= =”来进行比较则判断内存地址是否相同,答案通常是否定的。本实例演示如何使用Double类中定义的方法来进行对象间比较,运行结果如下图所示。
文章图片
public class DoubleTest {public static void main(String[] args) {Double number1 = 12.3;
Double number2 = 12.3;
System.out.println("number1:" + number1);
System.out.println("number2:" + number2);
switch (number1.compareTo(number2)) {case -1:
System.out.println("number1 < number2");
break;
case 0:
System.out.println("number1 == number2");
break;
case 1:
System.out.println("number1 > number2");
break;
}
}
}
补充compareTo的用法:
compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。只能进行相同数据类型的比较。
//语法:
public int compareTo( NumberSubClass referenceName )
referenceName -- 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。
第三题
一苹果商卖苹果有个 “不找零钱(四舍五入)” 习惯,苹果售价为每500克2.49元,苹果商输入顾客购买苹果的数量后,输出这些苹果的未经四舍五入的总价格与顾客的应付金额。
文章图片
//标准答案
import java.util.Scanner;
public class Apples { public static void main(String[] args) {double price = 2.49;
System.out.println("苹果售价:" + price + "元RMB/斤。");
Scanner sc = new Scanner(System.in);
System.out.print("输入顾客购买苹果的重量(斤):");
double weight = sc.nextDouble();
double totalPrice = price * weight;
System.out.println("顾客购买的苹果总价格为" + String.format("%.1f", totalPrice) + "RMB。");
if (String.format("%.1f", totalPrice).contains(".5")) {System.out.println("顾客的应付金额为" + (Math.round(totalPrice) + 1) + "RMB。");
} else {System.out.println("顾客的应付金额为" + Math.round(totalPrice) + "RMB。");
}
sc.close();
}
}
补充round的用法:
round() 方法返回一个最接近的 int、long 型值,四舍五入。
//语法:
long round(double d)
//**************************//
int round(float f)
补充String contains() 用法:
contains() 方法用于判断字符串中是否包含指定的字符或字符串。看下面这个栗子:
public class Main {public static void main(String[] args) {String myStr = "Runoob";
System.out.println(myStr.contains("Run"));
System.out.println(myStr.contains("o"));
System.out.println(myStr.contains("s"));
}
}/*结果:
true
true
false*/
补充String.format()用法:
String.format()方法用于创建格式化的字符串以及连接多个字符串对象。
//例如:
System.out.println(String.format("我的名字叫%s", "小明"));
// 打印:我的名字叫小明
有问题欢迎评论区留言,笔者才疏学浅,希望各位师傅不吝赐教。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机