Java语言程序设计基础篇_编程练习题*18.20 (显示多个圆)

news/2024/9/18 13:21:15/ 标签: java, 开发语言, 学习

目录

题目:*18.20 (显示多个圆)

习题思路

代码示例

输出结果


题目:*18.20 (显示多个圆)

编写一个Java程序显示多个圆,如图18-12b所示。这些圆都处于面板的中心位置。两个相邻圆之间相距10像素,面板和最大圆之间也相距10像素。

  • 习题思路
  1. 定义一个面板StackPane,
  2. 定义一个绘制圆的方法
    1. 新建一个圆。
    2. 判断面板的宽度减去圆的直径是否大于等于20,如果是则将圆添加到面板中,并将半径增加10,递归调用绘制方法。
  • 代码示例

编程练习题18_20DisplayMultipleCircles.java

java">package chapter_18;import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;public class 编程练习题18_20DisplayMultipleCircles extends Application{private static int radius = 5;private static int spacing = 10;@Overridepublic void start(Stage primaryStage) throws Exception {StackPane stackPane = new StackPane();Scene scene = new Scene(stackPane,500,500);drawCircle(stackPane);//drawCirlcey方法的调用需要在Scene定义长宽度之后primaryStage.setTitle("编程练习题18_20DisplayMultipleCircles");primaryStage.setScene(scene);primaryStage.show();}public void drawCircle(StackPane stackPane) {Circle circle = new Circle(radius);if(stackPane.getWidth()-circle.getRadius()*2 >= 20) {circle.setFill(Color.TRANSPARENT);circle.setStroke(Color.BLACK);stackPane.getChildren().add(circle);radius += spacing;drawCircle(stackPane);}}public static void main(String[] args) {Application.launch(args);}
}
  • 输出结果


http://www.ppmy.cn/news/1524372.html

相关文章

Centos7 Hadoop 单机版安装教程(图文)

本章教程,主要记录如何在Centos7中安装Hadoop单机版。 一、软件安装包和基础环境 CentOS7.x,jdk8,hadoop 通过网盘分享的文件:Hadoop 链接: https://pan.baidu.com/s/1_qGI9QeXMAJNb3TydHhQGA?pwd=xnz4 提取码: xnz4 当然你也可以自己去官网下载。 java8:https://www.ora…

黑马点评22——最佳实践-批处理优化

文章目录 pipeline和mset集群模式下的批处理问题 pipeline和mset pipeline就是大数据量的导入,pipeline是在单机模式下的。 redis的处理耗时相比较网络传输的耗时其实是比较低的。 所以我们最好采用批处理, 集群模式下的批处理问题 在集群环境…

redis基本数据类型和常见命令

引言 Redis是典型的key-value(键值型)数据库,key一般是字符串,而value包含很多不同的数据类型: Redis为了方便我们学习,将操作不同数据类型的命令也做了分组,在官网( Commands | Do…

Mysql树形结构表-查询所有子集数据

表结构,这里只是个例子,所有的树形结构表均可用: CREATE TABLE zhkt_course_chapter (id bigint NOT NULL COMMENT 唯一id,course_id bigint NOT NULL COMMENT 所属课程id,name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general…

最新版微服务项目搭建

一,项目总体介绍 在本项目中,我将使用alibabba的 nacos 作为项目的注册中心,使用 spring cloud gateway 做为项目的网关,用 openfeign 作为服务间的调用组件。 项目总体架构图如下: 注意:我的Java环境是17…

如何区分html和html5

HTML与HTML5在多个方面存在显著的区别。以下是对这些区别的详细分析: 1. 概念区别 HTML:HTML是HyperText Markup Language(超文本标记语言)的缩写,是一种用于创建网页和网页应用程序的标准标记语言。它通过一系列的标…

C++20那些事之何时使用可能性属性?

C20 引入了 [[likely]] 和 [[unlikely]] 这两个可能性属性,它们会给编译器优化提示,表示对应代码路径可能/不可能被执行。 乍一看,这似乎是一组很不错的属性,通过编译器优化,从而提高性能。但是事实并不是如此。 在C 标…

自动化立体仓库定义及使用范围

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 这份文件是关于自动化立体仓库的定义、发展、组成、技术性能、应用领域、供货方式以及设计步骤的详细介绍。以下是核心内容的概要&#…

Java 入门指南:JVM(Java虚拟机)—— Java 内存运行时的数据区域

前言 对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。 由于程序员把内存控制权利交给 Java 虚拟机,一旦…

【数学建模】2024年国赛成绩公布时间预测

经过三天三夜的奋战,2024年数学建模国赛也宣告结束,相信这几天超高强度的比赛也让大家精疲力竭了,所以经过几天的调整,大家都恢复过来了吧。能够在高强度的压力下坚持这么久,大家都超级厉害的! 当然完整提交…

解锁 macOS 剪贴板历史记录,高效复制、粘贴技巧

在Mac上,我们经常需要在不同文档之间复制和粘贴内容。然而,macOS自带的剪贴板只能保存最后一个复制项,这大大限制了我们的工作效率。幸运的是,一些第三方应用程序可以帮助我们查看和管理剪贴板的历史记录,从而提升我们…

排查 MyBatis XML 配置中的 IF 语句与传值名称不匹配的 Bug

文章目录 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 前言,在改一个bug得时候发现一个有意思得问题,就是myb…

变更AWS EC2 实例配置或实例类型

在本文中,九河云将带您了解如何更改由 Amazon Elastic Block Store (EBS) 支持的 Amazon Elastic Compute Cloud (EC2) 实例的类型。更改实例类型可以优化成本和性能,使其更符合您的应用程序需求。 准备工作 在开始之前,请确保您已完成以下…

java-redis-穿透

Redis 缓存穿透是指当请求的数据在缓存和数据库中都不存在时,用户每次请求都会直接查询数据库,导致缓存失效,无法发挥作用。这种情况下,用户发出的每个请求都绕过了缓存,直接打到了数据库,可能导致数据库压…

Mybatis-Plus笔记

本笔记基于【尚硅谷新版SSM框架全套视频教程,Spring6SpringBoot3最新SSM企业级开发】https://www.bilibili.com/video/BV1AP411s7D7?vd_sourcea91dafe0f846ad7bd19625e392cf76d8 总结 资料获取网址:https://www.wolai.com/v5Kuct5ZtPeVBk4NBUGBWF Myb…

第二十二章 加密 SOAP 主体 - 变体:使用签名的 SAML 断言

文章目录 第二十二章 加密 SOAP 主体 - 变体:使用签名的 SAML 断言消息加密示例指定块加密算法指定密钥传输算法 第二十二章 加密 SOAP 主体 - 变体:使用签名的 SAML 断言 要使用签名的 SAML 断言中的证书中包含的公钥进行加密,请执行以下操…

Java后端微服务架构下的服务调用链路安全:服务认证与授权

Java后端微服务架构下的服务调用链路安全:服务认证与授权 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,服务间的调用链路安全是保障系统整体安全性的关…

6.Java基础 -二维数组练习题

练习1:冒泡排列学员成绩 使用冒泡排序对输入的5名学员成绩进行降序排列 package com.hz;import java.util.Arrays; import java.util.Scanner;public class Lianxi {public static void main(String[] args) {// TODO Auto-generated method stubint nums[] new …

医疗行业怎么节约和管理能源

医院建筑能耗平台 医院智能照明平台 医院能源综合管理平台 目前,能源短缺已成为一个全球性问题。在建筑业的发展中,建筑电气照明系统的节能水平与中国的能源利用率有关。照明系统中的低功率因数和高电压波动将导致较大的功率损失。因此,要认…

Grafana 可视化配置

Grafana 是什么 Grafana 是一个开源的可视化和监控工具,广泛用于查看和分析来自各种数据源的时间序列数据。它提供了一个灵活的仪表盘(dashboard)界面,用户可以通过它将数据源中的指标进行图表化展示和监控,帮助分析趋…