当前位置: 首页 > news >正文

Java语言程序设计基础篇_编程练习题*16.13(比较不同利率的贷款)

目录

题目:*16.13(比较不同利率的贷款)

 习题思路

代码示例 

结果展示 


题目:*16.13(比较不同利率的贷款)

    改写编程练习题5.21,创建一个图形用户界面,如图16-41b所示。程序应该允许用户从文本域输入贷款额以及以年为单位的贷款年限,在文本域中会显示关于每种利率的月偿还额和总偿还额,利率从5%到8%,按1/8(0.125%)递增。

  •  习题思路
  1. 新建一个TextArea(全局变量),创建一个ScrollPane,传入TextArea
  2. 创建一个HBox,新建两个Label和两个TextField,以及一个按钮Button,
  3. 创建一个BorderPane,将ScrollPane设置在中心,把HBox设置在顶部
  4. 为Button注册一个事件,当按钮按下时检查两个TextField是否为空,不为空则用输入框里的内容为参数传入一个输出到TextArea的方法
  5. (输出到TextArea的方法)每次调用前清除之前的文本,用TextArea.appendText()方法代替System.out.println()
  • 代码示例 

编程练习题16_13CompareLoans.java 

package chapter_16;import java.lang.invoke.StringConcatFactory;import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;public class 编程练习题16_13CompareLoans extends Application{private TextArea textArea = new TextArea();@Overridepublic void start(Stage primaryStage) throws Exception {ScrollPane scrollPane = new ScrollPane(textArea);HBox hBox = new HBox(10);TextField tfLoan = new TextField();Label lbLoan = new Label("Loan Amount",tfLoan);lbLoan.setContentDisplay(ContentDisplay.RIGHT);TextField tfYear = new TextField();tfYear.setPrefWidth(30);Label lbYear = new Label("Number of Years",tfYear);lbYear.setContentDisplay(ContentDisplay.RIGHT);Button btShow = new Button("Show Table");hBox.getChildren().addAll(tfLoan,lbLoan, tfYear,lbYear, btShow);BorderPane borderPane = new BorderPane();borderPane.setCenter(scrollPane);borderPane.setTop(hBox);btShow.setOnMouseClicked(e ->{if(!tfLoan.getText().isEmpty()&&!tfYear.getText().isEmpty()) {double loan = Double.valueOf(tfLoan.getText());int year = Integer.valueOf(tfYear.getText());print(loan, year);}});Scene scene = new Scene(borderPane,500, 200);primaryStage.setTitle("编程练习题16_13CompareLoans");primaryStage.setScene(scene);primaryStage.show();}public static void main(String[] args) {Application.launch(args);}public void print(double Loan, int Years) {textArea.clear();double rate = 5.000;textArea.appendText("Interest Rate\t\tMonthly Payment\tTotal Payment\n");while(rate<=8.000) {textArea.appendText(rate+"%         ");double monthly_Rate = (rate/1200);double monthly_Pay = (Loan * monthly_Rate )/ (1 - 1/Math.pow(1+monthly_Rate,Years*12));double total_Pay = monthly_Pay * 5 * 12;textArea.appendText("\t\t"+Math.round(monthly_Pay*100.0)/100.0);textArea.appendText("\t\t\t"+Math.round(total_Pay*100.0)/100.0+"\n");rate+=0.125;}}
}
  • 结果展示 

 

相关文章:

Java语言程序设计基础篇_编程练习题*16.13(比较不同利率的贷款)

目录 题目&#xff1a;*16.13&#xff08;比较不同利率的贷款&#xff09; 习题思路 代码示例 结果展示 题目&#xff1a;*16.13&#xff08;比较不同利率的贷款&#xff09; 改写编程练习题5.21&#xff0c;创建一个图形用户界面&#xff0c;如图16-41b所示。程序应该允许…...

正点原子imx6ull-mini-Linux驱动之Regmap API 实验

我们在前面学习 I2C 和 SPI 驱动的时候&#xff0c;针对 I2C 和 SPI 设备寄存器的操作都是通过相关 的 API 函数进行操作的。这样 Linux 内核中就会充斥着大量的重复、冗余代码&#xff0c;但是这些本质 上都是对寄存器的操作&#xff0c;所以为了方便内核开发人员统一访问 I2C…...

postgresql 双重排序后 重复项 标识次序

postgresql 双重排序后 重复项 标识次序 在PostgreSQL中&#xff0c;如果你想要在双重排序后标识重复项的次序&#xff0c;可以使用窗口函数&#xff08;window functions&#xff09;。一个常见的方法是使用ROW_NUMBER()窗口函数&#xff0c;它会为每个分组内的行分配一个唯一…...

线程池ThreadPoolExecutor使用

文章目录 一、基础-Java中线程创建的方式1.1、继承Thread类创建线程1.2、实现Runnable接口创建线程1.3、实现Calable接口创建线程1.4、使用线程池创建线程二、概念-线程池基本概念2.1、并发和井行的主要区别2.1.1、处理任务不同2.1.2、存在不同2.1.3、CPU资源不同2.2、什么是线…...

Codeforces Round 963 (Div. 2)

A题&#xff1a;Question Marks 题目&#xff1a; Tim正在做一个由 4n 个问题组成的测试&#xff0c;每个问题都有 4 个选项&#xff1a;“A”、“B”、“C”和“D”。对于每个选项&#xff0c;有 n 个正确答案对应于该选项&#xff0c;这意味着有 n 个问题的答案为“A”。 n…...

Mysql函数学习笔记

MySQL 字符串函数 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码。 //返回 CustomerName 字段第一个字母的 ASCII 码 SELECT ASCII(CustomerName) AS NumCodeOfFirstChar FROM Customers;CHAR_LENGTH(s)-返回字符串 s 的字符数 //返回字符串 RUNOOB 的字符数 SELECT CHAR…...

【Linux基础】Linux基本指令(一)

目录 前言1&#xff0c; ls指令2&#xff0c;pwd指令三&#xff0c;cd指令3.1 当前目录与上级目录3.2 绝对路径和相对路径 四&#xff0c;创建一个普通文件或目录4.1 touch指令4.2 mkdir指令 五&#xff0c;删除目录或文件5.1 rmdir指令5.2 rm 指令 前言 从本章开始&#xff0…...

全球视野:航空蓄电池的国际标准与技术创新

航空蓄电池是一种专门为满足航空工业独特要求而设计的高性能储能设备。由于航空环境的特殊性&#xff0c;如高海拔、极端温度变化、频繁的充放电需求、以及对于设备重量和体积的严格限制&#xff0c;航空蓄电池需要具备一系列高级特性以确保飞机在各种飞行条件下能够安全有效地…...

11-初识python的函数——定义和调用

1 函数简介 function input()、print()、range()、len()都是python的内置函数&#xff0c;可以直接使用的 函数&#xff1a;可以用来保存代码&#xff0c;在需要的时候对这些语句进行重复调用 优点&#xff1a; 1. 遇到重复功能的时候&#xff0c;直接调用即可&#xff0c;…...

Windows安装Swoft框架

实现方式&#xff1a; 安装虚拟机&#xff0c;在虚拟机里用宝塔搭建环境后安装Swoft&#xff0c; 然后用Phpstorm SSH方式开发&#xff0c;用Apipost调用 websocket服务。 1、安装虚拟机&#xff0c;下载和安装参见 &#xff1a; https://blog.csdn.net/2401_84297265/article…...

阅读台灯什么品牌好?一文带你了解热门阅读台灯推荐

阅读台灯最终都绕不开护眼这个话题。护眼灯作为保护视力的辅助工具&#xff0c;以有效护眼的价值深受大众青睐。学生长时间用眼&#xff0c;普通台灯的伤害大&#xff0c;而阅读台灯的出现&#xff0c;通过其先进的技术和设计&#xff0c;能为学生提供了一个既舒适又健康的照明…...

1、.Net UI框架:Xamarin Forms - .Net宣传系列文章

Xamarin.Forms是一个跨平台移动应用开发框架&#xff0c;它允许开发者使用C#和.NET进行一次编码&#xff0c;然后在iOS、Android、macOS和Windows等多个平台上运行。Xamarin.Forms是Xamarin的一部分&#xff0c;而Xamarin是微软的.NET跨平台开发工具集&#xff0c;它提供了一套…...

Tomcat 最大连接数实现原理

spring boot 内置tomcat设置连接数 max-connections: 5 server:port: 9898servlet:context-path: /testtomcat:connection-timeout: 5000max-connections: 5accept-count: 5 ##初始化连接数量connectionLimitLatch protected LimitLatch initializeConnectionLatch() {if (ma…...

大数据应用【大数据导论】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 目录 大数据在许多领域应用互联网领域应用生物医学…...

IP地址申请SSL证书实现https访问

为IP地址申请SSL证书以实现HTTPS访问&#xff0c;可以确保通过网络传输的数据得到加密保护。下面是为IP地址申请并安装SSL证书一般的步骤&#xff1a; 1 访问CA 打开JoySSL官网&#xff0c;注册一个账号用于申请证书&#xff0c;注册时会有选填项注册码&#xff0c;填写后可获…...

未授权访问漏洞上(漏洞复现合集)

目录 一&#xff1a;Redis未授权访问漏洞 * 步骤一:进入vulhub目录使用以下命令启动靶机... 步骤二:在Kali上安装redis程序进行服务的链接 步骤三:可以直接连接执行命令且不需要认证说明存在未授权访问漏洞...下载以下攻击项目... 步骤四:使用工具执行以下命令获取目标的命…...

多久没有清理你的电脑磁盘了?轻松解锁免费轻量磁盘清理工具

随着我们日常使用电脑的时间越来越长&#xff0c;磁盘上积累的无用文件和垃圾数据也越来越多。这些文件不仅占用宝贵的存储空间&#xff0c;还可能拖慢电脑的运行速度。 那么&#xff0c;你多久没有清理过你的电脑磁盘了呢&#xff1f; 今天&#xff0c;我将为大家推荐几款免…...

高精度加法c++

题目描述 计算ab的值&#xff0c;a,b皆为不超过240位的正整数。 输入 两个正整数&#xff0c;每行一个 输出 一个数&#xff0c;代表两个整数的和 样例输入 111111111111111111111111111111111111 222222222222222222222222222222222222 样例输出 3333333333333333333…...

SQL布尔盲注

目录 1 布尔盲注 2布尔盲注流程 2.1输入id进行测试 2.2判断注入类型 2.3爆数据库名 2.4爆表名 2.5爆字段名 2.6查询数据 1 布尔盲注 布尔盲注就是在SQL注入过程中&#xff0c;SQL语句执行后&#xff0c;查询到的数据不能回显到前端页面&#xff0c;如果正确执行了构造的…...

OpenGL实现3D游戏编程【连载3】——3D空间模型光照初步

1、本节实现的内容 上一节课&#xff0c;我们建立了简单的坐标系&#xff0c;同时也显示了一个正方体&#xff0c;但正方体的颜色为纯红色&#xff0c;好像一个平面物体一样&#xff0c;我们这节课就可以加一些光照&#xff0c;并创建更多的模型&#xff0c;使这些物体变得更加…...

ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优卮

Qt是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本笔记将重点介绍QSpinBox数值微调组件的常用方法及灵活应用。…...

IC670GBI002总线接口单元

IC670GBI002 总线接口单元 (BIU) 产品特点该总线接口单元是工业自动化系统中实现模块间高速、可靠数据通信的关键组件&#xff0c;保证控制系统稳定、高效运行。提供高速可靠的总线通信接口支持多模块数据交换&#xff0c;实现系统扩展数据传输稳定&#xff0c;确保控制精度响应…...

三步解决Fiji在macOS系统的启动故障问题

三步解决Fiji在macOS系统的启动故障问题 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji作为ImageJ的"开箱即用"发行版&#xff0c;整合了大量生物图像处理…...

2025届毕业生推荐的十大AI写作平台实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 被称作DeepSeek的论文&#xff0c;系统地阐述了大规模语言模型的技术架构&#xff0c;以及训…...

3步实现小说自由:用这款工具轻松下载并永久保存番茄小说

3步实现小说自由&#xff1a;用这款工具轻松下载并永久保存番茄小说 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 还在为喜欢的小说无法离线阅读而烦恼&#xff1f;想把精彩故事保存到本…...

5大技术突破:VR-Reversal如何重新定义普通设备的VR视频解码体验

5大技术突破&#xff1a;VR-Reversal如何重新定义普通设备的VR视频解码体验 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.…...

BilibiliDown场景化使用指南:从新手到专家的B站视频管理方案

BilibiliDown场景化使用指南&#xff1a;从新手到专家的B站视频管理方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mir…...

OpenClaw 保姆级安装指南:从下载到运行,一次成功避坑全解

2026年爆火的开源数字员工OpenClaw&#xff08;小龙虾&#xff09;&#xff0c;凭本地运行、零代码操作、自动执行任务的优势圈粉无数。它不是普通聊天AI&#xff0c;能直接操控电脑&#xff0c;接收自然语言指令后自动拆解任务&#xff0c;全程无需人工干预。 本文专为CSDN全…...

STM32F103移相全桥PWM寄存器级配置实战

1. STM32F103移相全桥PWM控制的核心原理 移相全桥拓扑在DCDC电源设计中非常常见&#xff0c;它通过调节两个桥臂之间的相位差来控制功率传输。STM32F103的高级定时器TIM1和TIM8正好可以完美实现这个功能。我做过好几个电源项目&#xff0c;发现直接操作寄存器比用库函数效率高得…...

Xinference-v1.17.1在Ubuntu上的实战应用:从环境准备到模型推理

Xinference-v1.17.1在Ubuntu上的实战应用&#xff1a;从环境准备到模型推理 1. 引言 Xinference作为一款开源AI模型推理平台&#xff0c;其1.17.1版本在Ubuntu系统上的表现尤为出色。本文将带你从零开始&#xff0c;完成在Ubuntu系统上部署Xinference并运行各类AI模型的完整流…...