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

本文介绍了一道关于金融风暴的编程题目,涉及银行间的借款关系。题目要求编写程序找出所有总资产低于安全限额的银行。通过输入银行数量、安全限额以及银行之间的借款信息,利用二维数组表示贷款关系,当银行总资产低于安全限额时,将其标记为不安全。程序最终输出不安全银行的ID。
摘要由CSDN通过智能技术生成

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

题目

题目描述

**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。

图是五个银行的状况图,当前银行的余额分别是2 500万美元、17 500万美元、7 500万美元、18 100万美元,从结点1到结点2方向表示银行1借给银行2共计4 000万美元
原图请参见:(本文章撰写时已经很晚,不方便拍照)

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

如果一个银行的总资产在某个限度以下,那么这个银行是不安全的。如果贷款不能返还,则借款方不能将这个贷款计入总资产,导致借贷方总资产也可能在限定以下,那么它也是不安全的

编写程序,找出所有不安全银行

程序读入如下输入:n银行个数 limit银行安全最小总资产
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的总资产是75+125 < 201,所以银行3是不安全的
如果银行3不安全,则银行1资产从125+40+85降为125+40,所以银行1也不安全
程序输出应该是:
Unsafe banks are 3 1
提示:使用一个二维数组borrowers来表示贷款,borrowers[i][j]表明银行i贷款给银行j贷款额。一旦银行j不安全则将borrowers[i][j]置空

破题

  1. 主方法:接收用户从控制台的输入,并赋值给新建的两个int对象(分别用于保存银行个数和最低安全资产数)
  2. 主方法:声明一个二维数组borrowers,表示贷款,长度为 银行个数n * 银行个数n
  3. 主方法:创建一个临时double变量temp用于保存数值
  4. 主方法:赋值
  5. 主方法:输出不含不安全银行id的部分
  6. 主方法:循环继续找并输出id

代码

import java.util.Scanner;

public class Test8_17 {
   
    public static void main(String[] args) {
   
        //1. 主方法:接收用户从控制台的输入,并赋值给新建的两个int对象(分别用于保存银行个数和最低安全资产数)
        Scanner input = new Scanner(System.in);
        System.out.print("请输入银行数量和银行安全的最低资产数:");
        int n = input
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值