java沙漏_Java - 沙漏
问题是你开始用1星号(x = 1)而不是3来绘制沙漏的底部。
第二个问题是,沙漏的底部只有N-2线,不N-1所以循环应该从1开始,而不是0。这是因为有一个星号线在上半部分已经被绘制。
更正代码:
public static void main(String[] args) {
int N = StdIn.readInt();
int x = N*2-1;
for (int i = 0; i < N; i++) {
for (int j = i; j > 0; j--) {
StdOut.print(" ");
}
for (int k = 0; k < x; k++) {
StdOut.print("*");
}
x-=2;
StdOut.println();
}
x = 3; //
for (int i = 1; i < N; i++) { //
for (int j = i; j < N-1; j++) {
StdOut.print(" ");
}
for (int k = 0; k < x; k++) {
StdOut.print("*");
}
x += 2;
StdOut.println();
}
}
作为旁注,您可以通过进行以下观察来更短地重写此代码:
有x线绘制,所以我们可以循环从0到x包括(尊重对称性),并跳过中间线,以便不绘制它两次
对于每一行,都有要绘制的x列,它可以是空格或*。
对于每一个线,*绘制仅当当前列是min(i, x-i)和max(i, x-i)(如果我们在上部,i < x-i和如果我们在底部部分,i > x-i)。之间
码:
public static void main(String[] args) {
int N = 4;
int x = 2 * N - 1;
for (int i = 0; i <= x; i++) {
if (i == N) continue; // skip the middle-line for it not to be drawn twice
for (int j = 0; j < x; j++) {
System.out.print(j >= Math.min(i, x-i) && j < Math.max(i, x-i) ? "*" : " ");
}
System.out.println();
}
}样本输出:
*******
*****
***
*
***
*****
*******
java沙漏_Java - 沙漏相关推荐
- java 沙漏_Java – 沙漏
我只是失踪了一点点.我想要的是: ******* ***** *** * *** ***** ******* 我得到了什么 ******* ***** *** * * *** ***** ****** ...
- 用java实现简单沙漏
用java实现简单沙漏 public static void main(String[] args) throws Exception {System.out.println("请输入大于等 ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)
黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...
- java编写打印沙漏_打印沙漏编程总结
7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓" ...
- 普罗米修斯监控java项目_java学到什么程度可以出去实习?
把基础的知识学完,然后再学个框架,比如常见的SSH,SSM之类的,自己能用这个框架做个简单的项目,就可以了 简单的来说就是把下方的视频教程学完就可以找工作了(需要完整的资料可以找up) Java零基础 ...
- python绘制图形沙漏_sandglass(沙漏)——一个让人解脱的python时间处理库
2014年六一儿童节那天的时间戳是多少? 2014年六一儿童节那天是星期几? datetime对象转成字符串后面往往带小数点,即微秒,而我存到数据库是不需要微秒的,怎么搞? 从配置中读取.网络中传输. ...
- 用python输出沙漏_sandglass(沙漏)——一个让人解脱的python时间处理库
2014年六一儿童节那天的时间戳是多少? 2014年六一儿童节那天是星期几? datetime对象转成字符串后面往往带小数点,即微秒,而我存到数据库是不需要微秒的,怎么搞? 从配置中读取.网络中传输. ...
- 基于M5StickC Plus的可定时电子沙漏电子沙漏(LCD+软SPI+Arduino/C++)
目录 项目介绍 硬件介绍 开发环境搭建 硬件结构及说明 软件结构及说明 软SPI驱动类 LED矩阵操作类 矩阵沙的动态效果计算 电子沙漏顶层类 硬件定时器(及中断服务)与非阻塞延时函数 硬件定时器 非 ...
最新文章
- python基础常用语句-Python语言的一些基本常用语句
- 常见的几种网络抓包及协议分析工具
- 反欺骗:从黑客时代的神话说起
- Linux学习笔记(一):Linux介绍
- 电脑通过android手机上网
- 用dw做html表格边框,Dreamweaver怎么设计彩色边框的表格?
- 安卓图片三级缓存策略与实现
- Unity Shader混合模式笔记(Blend)
- Android toolchain - develop for Android devices
- 驱动开发:断链隐藏驱动程序自身
- jenkins下载插件失败的解决方案
- PAAS容器安全防护
- 这些衣服包包国内比国外便宜?是你想太多
- out.flush()
- 2021年【大学生Python学习】社区小博主【孤寒者】的年度总结
- 开源自助BI工具,傻瓜式BI分析,支持多种数据源
- Ear Clipping算法简介
- 使用机器学习做DGA域名识别
- Dart list数组集合类型
- (转载)常见的程序员健康问题