2 qq 29116547 qq_29116547 于 2017.01.02 19:37 提问

java循环的for基础问题

初学者,学到循环。
就是有什么比这个简单的方法,输出菱形,感觉我这个很麻烦。

图片说明

14个回答

caozhy
caozhy   Ds   Rxr 2017.01.02 20:06
已采纳
 /* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        for (int a=1; a<=5; a++) {
            for (int b=a;b<5+a;b++) System.out.print(b >= 5 ? "* " : " ");
            System.out.println();
        }
        for (int a=1; a<=4; a++) {
            for (int b=0;b<a;b++) System.out.print(" ");
            for (int b=a;b<5;b++) System.out.print("* ");
            System.out.println();
        }
    }
}
o6874535
o6874535 玩这个 有什么意思
12 个月之前 回复
caozhy
caozhy 回复qq_29116547: 看楼下的代码
12 个月之前 回复
qq_29116547
qq_29116547 谢谢啦!
12 个月之前 回复
caozhy
caozhy   Ds   Rxr 2017.01.02 20:18
 /* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        for (int a=1; a<=10; a++) {
            if (a<=5) for (int b=a;b<5+a;b++) System.out.print(b >= 5 ? "* " : " ");
            else for (int b=0;b<5;b++) System.out.print(b >= a-5 ? "* " : " ");
            System.out.println();
        }
    }
}

这个最简单了

u012948520
u012948520 确实简化了一点,但是代码写一行,让人看起来感觉代码量少了好多,是个作弊的行为。还有些如for(int i = 0; i < max; action);这样的代码,其实除了增加阅读难度,没什么意思)
10 个月之前 回复
caozhy
caozhy   Ds   Rxr 2017.01.02 20:19

一共压缩到4行代码

在线测试
http://ideone.com/BkKMT1

zj_maddog
zj_maddog 可以
11 个月之前 回复
qq_29116547
qq_29116547 学习了
12 个月之前 回复
anqi0819
anqi0819   2017.01.17 10:22

你还不如直接print输出凑一个菱形呢。

jinziweiwang
jinziweiwang   2017.01.24 10:06

## 采纳的答案有一定的不足,如果要6个*或者更多,应该参数化更好_

lanrenxiaowen
lanrenxiaowen   2017.02.05 09:41

代码真正的简洁不是代码写的少就算简洁了,真正的简洁是逻辑上的简洁

my_name_nb
my_name_nb   2017.02.10 21:26

也就这样吧 简单复杂 看你怎么理解

zzhao114
zzhao114   2017.02.11 15:48

大神好多。。。。。。。

testcs_dn
testcs_dn   Rxr 2017.01.02 20:15

有意思;

    public static void main(String[] args) {
        int size = 7;
        int limit = (size - 1) / 2;

        for (int i = 0; i < size; i++)
        {
            String _temp = (newString(" ", Math.abs(limit)) + newString("*", size - Math.abs(limit) * 2));
            System.out.println(_temp);
            limit--;
        }
    }

    public static String newString(String init, int length){
        String tmp = "";
        for (int i = 0; i < length; i++)
        {
            tmp += init;
        }
        return tmp;
    }
qq_29116547
qq_29116547 你这个不只有循环了,我只学到循环啊大哥,你的定义了类,有数组,后面还加了函数,不过还是感谢
12 个月之前 回复
Google_huchun
Google_huchun   2017.01.07 16:29

for (int a=1; a<=5; a++) {
for (int b=a;b= 5 ? "* " : " ");
System.out.println();
}
for (int a=1; a<=4; a++) {
for (int b=0;b<a;b++) System.out.print(" ");
for (int b=a;b<5;b++) System.out.print("* ");
System.out.println();
}

            for 内置方法
共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!