class Student
{
Backstage information = new Backstage();//創建后臺查找系統
void Access (String mation)//查詢資訊
{
information.cooking(mation); //通知mation查詢資訊
}
void SaySorry()
{
System.out.println("未找到購買記錄");
}
public static void main(String[] args)
{
Student Reception = new Student();
System.out.println("您的購物車里的商品資訊:");
Reception.Access("\n");//查詢資訊如下
}
class Backstage //后臺
{
String name;//設定變數
String user;
String monkey;
String jiage;
Backstage()//定義變數
{
this.name = "書名:";
this.user = "作者:";
this.monkey = "價格:";
this.jiage = "總價";
}
void cooking(String mation)//資訊
{
System.out.println(name+"《Java Web從入門到精通》,"+"Java從入門到精通(第三版),"+"Java從入門到精通(實體版),"+mation);
System.out.println(user+"明日科技著"+"明日科技著"+"明日科技著"+mation);
System.out.println(monkey+"69.8"+"59.8"+"69.8"+mation);
System.out.println(jiage+(69.8+59.8+69.8)+mation);
}
}
}
運行出來的結果是
您的購物車里的商品資訊:
書名:《Java Web從入門到精通》,Java從入門到精通(第三版),Java從入門到精通(實體版),
作者:明日科技著明日科技著明日科技著
價格:69.859.869.8
總價199.39999999999998
兩個問題1:能不能用HashSet 第二:為什么等于199.39999999999998 麻煩了
uj5u.com熱心網友回復:
浮點數采用了二進制系統表示uj5u.com熱心網友回復:
第一個問題:HashSet想用就用 沒有啥限制的 你這里是直接計算輸出結果 到沒有必要去用HashSet第二個問題:有精度的數值進行計算 比如float和double型別 有可能會丟失精度 就會造成你上面的結果 一般有精度的計算建議先轉BigDecimal型別計算
BigDecimal shu1=new BigDecimal("69.8");
BigDecimal shu2=new BigDecimal("59.8");
BigDecimal shu3=new BigDecimal("69.8");
shu1=shu1.add(shu2).add(shu3);
System.out.println(shu1.doubleValue());
uj5u.com熱心網友回復:
你這個值型別肯定不能用string去玩,都用BigDecimal 靠譜,人家都。封裝好了數學計算方法。第一個問題是隨便你用不用uj5u.com熱心網友回復:
那大佬你看下整體在代碼的話是怎么進行修改呢??uj5u.com熱心網友回復:
好的 我待會去試下
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/173385.html
標籤:Java相關
