努力刷題,每日三題,題目來源于《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", "小明")); // 列印:我的名字叫小明
有問題歡迎評論區留言,筆者才疏學淺,希望各位師傅不吝賜教,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/299977.html
標籤:java
下一篇:cgb2107-day14
