目录

1.问题引入

2.简单分析:

3.总结


1.问题引入

即这个图形

看着好像挺简单,如果要用 for 循环输出应该怎么实现呢?

2.简单分析:

按照行数增加:

 行数 1 2 3 4 5
前方空白数 2 1 0 1 2
星号数 1 3 5 3 1
后方空白数 2 1 0 1 2

似乎具有对称性,但是简单的 for 循环只能递增或递减输出,该怎么实现对称性呢?

不妨这样想:以中间的一行为 参考参数(本题以3为例) 每行分别减它(或被减)

就可得到:-2 -1 0 1 2 是不是快成功了?现在只要利用取绝对值函数就行了

具体代码及例子如下:

package first_class_study;public class Drawing {public static void main(String args[]) {drawing(5);System.out.println("--------------");drawing(6);System.out.println("--------------");drawing(7);System.out.println("--------------");drawing(8);    }public static void drawing(int Line) {for(int i = 1;i <= Line ;i++ ) {//控制行数for(int j=Math.abs((Line+1)/2-i);j > 0;j--) {//打印前方空白段System.out.print(" ");}for(int starsNums = Line-2*Math.abs((Line+1)/2-i);starsNums > 0;starsNums-- ) {System.out.print("*");//打印中间星号}for(int j=Math.abs((Line+1)/2-i);j > 0;j--) {//打印后方空白段System.out.print(" ");}System.out.println();//一行结束换行}}}

3.总结

1.可以看出,此对称只针对奇数情况下,若想偶数满足,则按照相同思路利用 if 语句再处理就行

2.要注意数据间的交互,而非手动输入具体的数据造成更改繁索;但是要合理利用,防止一子落下,满盘皆输

3.有对称要求时,可先找对称中心,再用Math方法(比如   Math.abs()   取绝对值)处理。

希望能对你有所启发

对称图像输出问题(for循环 ,取绝对值的利用)相关推荐

  1. 输入一个整数n及一个n阶方阵,判断该方阵是否以主对角线对称,输出“Yes”或“No”。

    7-6 判断对称方阵 (10 分) 输入一个整数n及一个n阶方阵,判断该方阵是否以主对角线对称,输出"Yes"或"No". 输入格式: 首先输入一个正整数T,表 ...

  2. MATLAB利用均值滤波的方法去除图像的噪声,将滤除噪声前后的图像输出。

    利用均值滤波的方法去除图像的噪声,将滤除噪声前后的图像输出.调用imfilter函数滤除图像噪声并输出,对比调用MATLAB函数去噪的图像与自己所编写程序去噪后的图像进行对比. clc; A=imre ...

  3. matlab函数图像输出坐标点,如何将matlab得到的多张函数图像显示在一个坐标图像中? 就是函数图像参数改变,图像改变。...

    中间加个短语 hold on (如下:hold 住噢!)a=1,b=2;y1=a+b*x^3... polar(rou,theta)是极坐标画图要画两个图只要polar(rou1,th... 如果要画 ...

  4. 【AIGC提示工程 - MidJourney教程:二】《MidJourney参数大全指南:实现最佳图像输出的关键》

    关注元壤教育公众号系统学习AIGC提示工程课程. 更多AIGC好博客,请移步访问AIGC博客派 这篇文章介绍了不同的MidJourney参数和提示词,帮助你创建你选择的图像.探索如何使用不同的风格和参 ...

  5. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  6. 深入Android系统(十二)Android图形显示系统-2-SurfaceFlinger与图像输出

    最近有些忙,切实体验了一把拖更的羞耻感 ( *︾▽︾) 本文和上一篇深入Android系统(十二)Android图形显示系统-1-显示原理与Surface关系比较密切,撸完前篇更易理解本文啦 (๑‾ ...

  7. Python 格式化输出和while循环的两个小练习

    练习1.模拟登陆判断(3次机会) r_name = 'xianyu' r_password = '123456'i = 3 # 用来控制循环次数while i > 0:name = input( ...

  8. 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装4

    多线程循环输出abcc++ Program 1: 程序1: #include <iostream> using namespace std; int A = 5; int fun() { ...

  9. 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装5

    多线程循环输出abcc++ Program 1: 程序1: #include <iostream> using namespace std; int main() { int num = ...

最新文章

  1. python学习笔记(一)之入门
  2. 第十六课.基于K-means的图像分割
  3. linux下的apache、mysql自启动
  4. 使用 jQuery Deferred 和 Promise 创建响应式应用程序
  5. HDU2020 绝对值排序
  6. 文巾解题 797. 所有可能的路径
  7. 【深搜】 棋盘 【NOIp普及组 2017 第三题】 (luogu 3956/ssl 2851)
  8. python给js变量赋值_python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...
  9. Consider defining a bean named 'entityManagerFactory' in your configuration解决办法
  10. 三星Galaxy S22 Ultra真机首曝:颜值与实力并存堪称完美
  11. 计算机组装内部线的整理,计算机组装与维护笔记整理.doc
  12. Oracle常用函数笔记
  13. 如何利用 Flutter 实现炫酷的 3D 卡片和帅气的 360° 展示效果
  14. Windows server 2012 R2 无法安装vc2015
  15. 内容分发网络:请简述 CDN 回源如何工作?
  16. uni-app 倒计时组件
  17. 开关磁阻电机的直接瞬时转矩控制(DITC)
  18. 【贪心法】基站布置问题
  19. 基于Qemu在ubuntu上构建linux学习环境
  20. kotlin Unresolved reference报错解决记录

热门文章

  1. 英语和c语言哪个难,英语四级跟高考哪个难?90%的人都会这么说!
  2. Linux社区沉痛悼念Ian Murdock的离世
  3. 通过Gson解析Json数据
  4. 解决M1芯片 MAC 下 Goland(Intellij系列都适用) 无法 Debug 的问题
  5. c语言单片机实训心得体会,单片机实训心得体会_单片机实习感悟与收获
  6. serverlet 原理_Serverlet具体解释
  7. 烤仔说· ConDragon | 什么?烤仔居然是个龙骑士?
  8. DSP SD_FAT32
  9. 个人学习笔记——庄懂的技术美术入门课(美术向)02
  10. 静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)