日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第8章:**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。如果一个银行的总资产在某个限以下,那么这个银行是不安全的。编写程序,找出所有不安

發(fā)布時間:2024/7/23 java 39 豆豆

**8.17(金融風(fēng)暴)銀行會互相借款……銀行的總資產(chǎn)是它當(dāng)時的余款減去它欠其他銀行的貸款。如果一個銀行的總資產(chǎn)在某個限以下,那么這個銀行是不安全的。編寫程序,找出所有不安全銀行

  • 題目
    • 題目描述
    • 破題
  • 代碼
    • 運行實例

題目

題目描述

**8.17(金融風(fēng)暴)銀行會互相借款……銀行的總資產(chǎn)是它當(dāng)時的余款減去它欠其他銀行的貸款。

圖是五個銀行的狀況圖,當(dāng)前銀行的余額分別是2 500萬美元、17 500萬美元、7 500萬美元、18 100萬美元,從結(jié)點1到結(jié)點2方向表示銀行1借給銀行2共計4 000萬美元
原圖請參見:(本文章撰寫時已經(jīng)很晚,不方便拍照)

https://blog.csdn.net/jxh1025_/article/details/110849395

如果一個銀行的總資產(chǎn)在某個限度以下,那么這個銀行是不安全的。如果貸款不能返還,則借款方不能將這個貸款計入總資產(chǎn),導(dǎo)致借貸方總資產(chǎn)也可能在限定以下,那么它也是不安全的

編寫程序,找出所有不安全銀行

程序讀入如下輸入:n銀行個數(shù) limit銀行安全最小總資產(chǎn)
n行輸入(n個銀行,銀行id從0到n-1):
每行第一個:該行余額
每行第二個:資金借入該行的銀行id
每行第三個:從這個銀行借款的銀行id
每行第四個:上面這家銀行借了多少錢
每行第五個:從這個銀行借款的銀行id
每行第六個:上面這家銀行借了多少錢
5 201
25 2 1 100.5 4 320.5
125 2 2 40 3 85
175 2 0 125 3 75
75 1 0 125
181 1 2 175
銀行3的總資產(chǎn)是75+125 < 201,所以銀行3是不安全的
如果銀行3不安全,則銀行1資產(chǎn)從125+40+85降為125+40,所以銀行1也不安全
程序輸出應(yīng)該是:
Unsafe banks are 3 1
提示:使用一個二維數(shù)組borrowers來表示貸款,borrowers[i][j]表明銀行i貸款給銀行j貸款額。一旦銀行j不安全則將borrowers[i][j]置空

破題

  • 主方法:接收用戶從控制臺的輸入,并賦值給新建的兩個int對象(分別用于保存銀行個數(shù)和最低安全資產(chǎn)數(shù))
  • 主方法:聲明一個二維數(shù)組borrowers,表示貸款,長度為 銀行個數(shù)n * 銀行個數(shù)n
  • 主方法:創(chuàng)建一個臨時double變量temp用于保存數(shù)值
  • 主方法:賦值
  • 主方法:輸出不含不安全銀行id的部分
  • 主方法:循環(huán)繼續(xù)找并輸出id
  • 代碼

    import java.util.Scanner;public class Test8_17 {public static void main(String[] args) {//1. 主方法:接收用戶從控制臺的輸入,并賦值給新建的兩個int對象(分別用于保存銀行個數(shù)和最低安全資產(chǎn)數(shù))Scanner input = new Scanner(System.in);System.out.print("請輸入銀行數(shù)量和銀行安全的最低資產(chǎn)數(shù):");int n = input.nextInt();double limit = input.nextDouble();//2. 主方法:聲明一個二維數(shù)組borrowers,表示貸款,長度為 銀行個數(shù)n * 銀行個數(shù)nSystem.out.println("請輸入數(shù)據(jù):");double[][] borrowers = new double[n][n];int[] bank = new int[n];double[] balance = new double[n];//3. 主方法:創(chuàng)建一個臨時double變量temp用于保存數(shù)值int temp = 0;//4. 主方法:賦值for (int i = 0 ; i < n ; i++){balance[i] = input.nextDouble();bank[i] = input.nextInt();for (int j = 0 ; j < bank[i] ; j++){borrowers[i][input.nextInt()] = input.nextDouble();}}//4. 主方法:輸出 不含不安全銀行id、is或are的部分System.out.print("Unsafe banks ");int count = 0;String str = "";//5. 主方法:找總資產(chǎn)(列1、3、5元素和)少于201的銀行id + 6. 繼續(xù)遍歷數(shù)組找iddouble[] sum = new double[n];for (int num = 0 ; num < n ; num++) {for (int i = 0; i < n; i++) {sum[i] = balance[i];for (int j = 0; j < n; j++) {sum[i] += borrowers[i][j];}}for (int i = 0; i < n; i++) {if (sum[i] < 201 && balance[i] != 0) {count++;str += i + " ";for (int j = 0; j < n; j++) {borrowers[j][i] = 0;balance[i] = 0;}}}}if (count == 1){System.out.print("is " + str);} else {System.out.print("are " + str);}} }

    運行實例

    請輸入銀行數(shù)量和銀行安全的最低資產(chǎn)數(shù):5 201 請輸入數(shù)據(jù): 25 2 1 100.5 4 320.5 125 2 2 40 3 85 175 2 0 125 3 75 75 1 0 125 181 1 2 125 Unsafe banks are 3 1

    總結(jié)

    以上是生活随笔為你收集整理的Java黑皮书课后题第8章:**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。如果一个银行的总资产在某个限以下,那么这个银行是不安全的。编写程序,找出所有不安的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。