加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何仅使用for循环生成奇数

发布时间:2020-12-15 04:14:05 所属栏目:Java 来源:网络整理
导读:我必须只使用嵌套的for循环生成以下输出: —– —– 1 —- —- 333 — 55555 — –7777777– -999999999- 我不能使用任何while或if语句 这是我的代码: public?static?void?printDesign()?{????//for?loop?for?the?number?of?lines????for?(int?i?=?1;?i?=?
我必须只使用嵌套的for循环生成以下输出:
—– —– 1
—- —- 333
— 55555 —
–7777777–
-999999999-
我不能使用任何while或if语句
这是我的代码:

public?static?void?printDesign()?{
????//for?loop?for?the?number?of?lines
????for?(int?i?=?1;?i?<=?9;?i++)?{
????????
????????//for?loop?for?the?left?-
????????for?(int?j?=?1;?j?<=?6?-?i;?j++)?{
????????????System.out.print("-");
????????}
????????
????????//for?loop?for?#'s
????????for?(int?k?=?1;?k?<=?2?*?i?-?1;?k++)?{
????????????System.out.print(i);
????????}
????????
????????//for?loop?for?the?right?-
????????for?(int?x?=?1;?x?<=?6?-?i;?x++)?{
????????????System.out.print("-");
????????}
????????System.out.println();
????}????
}

这就是它产生的:
—– —– 1
—- —- 222
— 33333 —
–4444444–
-555555555-
66666666666
7777777777777
888888888888888
99999999999999999
我怎样才能得到它只产生奇数?

解决方法

for (int i = 1; i <= 9; i += 2) {
   for (int j = 0; j < (9 - i) / 2; j++) System.out.print('-');
   for (int k = 0; k < i; k++) System.out.print(i);
   for (int l = 0; l < (9 - i) / 2; l++) System.out.print('-');
   System.out.println();
}

输出:

----1----
---333---
--55555--
-7777777-
999999999

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读