iT邦幫忙

0

研究程式考古題

  • 分享至 

  • xImage
  •  

嗯..疫情關係,公司OFFER延後了
這陣子也不想浪費時間,所以打算上網找一些考古題來做順便練習
https://ithelp.ithome.com.tw/upload/images/20210628/201378103vzfvG8MsD.jpg
小弟第一次做題目,大概題意是有個SQL資料表,然後用JAVA與SQL去完成
如果這樣要作答的話,是用JDBC的方式,並且自己命名TABLE與Column的名稱去作語法操作嗎?
也歡迎大家來討論一下作答方法


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
c9103205
iT邦新手 5 級 ‧ 2021-06-28 20:49:17

getSubTotal 我是這樣寫
看不出題目為什麼要連資料庫啦
只單純按照題目需求寫method
簡單暴力,設一個map塞表

int getSubTotal(int[] items){
    Map priceMap = new HashMap();
    priceMap.put(1,20);
    priceMap.put(2,25);
    priceMap.put(3,18);
    priceMap.put(4,14);
    priceMap.put(5,17);
    priceMap.put(6,32);
    priceMap.put(7,45);
    priceMap.put(8,15);
    priceMap.put(9,22);
    priceMap.put(10,35);
    
    int totalPrice = 0 ;
    for(int i : items){
        totalPrice = totalPrice + (int)priceMap.get(i);
    }
    return totalPrice ;
}


 int[] getSurplus(int[] coins, int price) {
    int[] returnCoins = new int[4];
    int totalCoins;
    //依序 1元;5元;10元;50元;100元
    totalCoins = coins[0] * 1 + coins[1] * 5 + coins[2] * 10 + coins[3] * 50 + coins[4] * 100;
    System.out.println("總價:" + price);
    System.out.println("總收入:" + totalCoins);

    int remainMoney = totalCoins - price;
    System.out.println("找零:" + remainMoney);

    if (remainMoney < 0) {
        System.out.println("投入金額不足!!!");
        return returnCoins;
    }
    //依序找零,存入指定陣列位置
    returnCoins[3] = (int) remainMoney / 50;
    remainMoney = remainMoney % 50;

    returnCoins[2] = (int) remainMoney / 10;
    remainMoney = remainMoney % 10;

    returnCoins[1] = (int) remainMoney / 5;
    remainMoney = remainMoney % 5;
    returnCoins[0] = remainMoney;

    return returnCoins;
}
看更多先前的回應...收起先前的回應...
c9103205 iT邦新手 5 級 ‧ 2021-06-28 21:14:55 檢舉

int[] getSurplus(int[] coins, int price) {
int[] returnCoins = new int[4];
int totalCoins;
//依序 1元;5元;10元;50元;100元
totalCoins = coins[0] * 1 + coins[1] * 5 + coins[2] * 10 + coins[3] * 50 + coins[4] * 100;
System.out.println("總價:" + price);
System.out.println("總收入:" + totalCoins);

    int remainMoney = totalCoins - price;
    System.out.println("找零:" + remainMoney);

    if (remainMoney < 0) {
        System.out.println("投入金額不足!!!");
        return returnCoins;
    }
    //依序找零,存入指定陣列位置
    returnCoins[3] = (int) remainMoney / 50;
    remainMoney = remainMoney % 50;

    returnCoins[2] = (int) remainMoney / 10;
    remainMoney = remainMoney % 10;

    returnCoins[1] = (int) remainMoney / 5;
    remainMoney = remainMoney % 5;
    returnCoins[0] = remainMoney;

    return returnCoins;
}

你寫得很清楚,不過我想如果我在資料表想要多放些欄位,像商品名稱那樣
用Key 跟 Value來紀錄還不錯,我在試試看用別的陣列,謝謝

想請問一下,這可以執行計算嗎?

c9103205 iT邦新手 5 級 ‧ 2021-06-29 10:08:03 檢舉

main方法我沒放上去,可以自己加一些參數測
我有本機run過,正常流程沒報錯
但沒有認真debug ㄎㄎ

我要留言

立即登入留言