java 板


LINE

※ 引述《pthuang (◢晓筱◤)》之铭言: : 这两天被老师丢了一个问题 : 叫我们想该怎麽用一个 for 就印出星号组成的菱形 :   *    大概就是像这个样子 :  ***    : *****  可以引入 Math 来使用(其他应该也可以啦 XD) :  ***    :   *    目前是想到从 -N 配合 Math.abs(绝对值)下手 : 但是怎麽想都觉得好像还是得用上两个 for 才行呀 =口=" : 所以想来问问版众们有没有什麽比较好的想法 : (虽然老师後来说可以用两个 for 啦.... :P) 以对角线长度为 5 来说,把菱形重心标为座标 (0, 0),那麽划上 * 的位置 的座标会满足 |x| + |y| <= 2。 以一个从 0 数到 24 的 loop 来做,你可以由 counter 来换算出座标,那麽就 可以使用一个 loop 来画出这个图形。 public class DiamondDemo { public static void main(String[] args) { int n = 5; if (args.length > 0) n = Integer.parseInt(args[0]); printDiamond(n, "*", " "); } public static void printDiamond(int diagonalSize, String dot, String space) { if (diagonalSize % 2 != 1) throw new IllegalArgumentException("diagonal size must be a odd number"); final int n = diagonalSize / 2; for (int i = 0; i < diagonalSize * diagonalSize; ++i) { int x = i % diagonalSize - n; int y = i / diagonalSize - n; if (Math.abs(x) + Math.abs(y) <= n) System.out.print(dot); else System.out.print(space); if (x == n) System.out.println(); } } } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.129.3 ※ 编辑: sbrhsieh 来自: 218.173.129.3 (05/12 21:55)
1F:推 james732:大一我也遇过这题 那时还真的想不出来 05/12 22:01
2F:推 Corns:推好人一枚~ 05/12 23:15
3F:推 pthuang:这这这....真的是好人 =口=" 本来想说来问个想法就好 05/12 23:31
4F:→ pthuang:想不到居然连原始码都给我了 大感谢 那等等来问问题 XD 05/12 23:32
5F:推 cecol:太酷了!这让我想起大一时地一堂软体实验课的经验... 05/13 14:22
6F:推 pthuang:现在剩下 int x 跟 int y 这两行看不太懂 05/13 15:34
7F:→ pthuang:是说....这到底是怎麽想出来的 难以理解 ~"~ 05/13 15:35
8F:→ pthuang:是不是有算法还是什麽的 囧"> 05/13 15:37
9F:推 hougzou:助教:嗯... 版上出现过的写法,统统20分.... 05/13 17:58
10F:推 pthuang:有人可以跟我解释一下那两行吗? T.T 05/14 00:10
11F:→ sbrhsieh:(i % diagonalSize,i / diagonalSize)是以左上角为原点 05/14 01:09







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP