输出生成太多行

时间:2018-02-21 04:58:17

标签: java

好的,我想做的是用星号拍照。图片应该不超过或少于10行,并且在每行中应该是1-10范围内的任意随机数量的星号。我遇到的唯一问题是我没有得到10行,相反,我得到了11到17行的任何地方。我不确定我缺少什么,我感谢你能给我提供的任何见解。 谢谢!

public class RandomPicture {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {     
        // Create a Random picture using asterisks
        Random rand = new Random();

        for (int count = 0; count <=2; count++)

        {
        if (rand.nextInt(2) == 0){    
        System.out.println("*");
        } if (rand.nextInt(2) == 0){
        System.out.println("**");
        } if (rand.nextInt(2) == 0){
        System.out.println("***");
        } if (rand.nextInt(2) == 0){
        System.out.println("****");        
        } if (rand.nextInt(2) == 0){
        System.out.println("*****");        
        } if (rand.nextInt(2) == 0){
        System.out.println("******");        
        } if (rand.nextInt(2) == 0){
        System.out.println("*******");        
        } if (rand.nextInt(2) == 0){
        System.out.println("********");        
        } if (rand.nextInt(2) == 0){
        System.out.println("*********");       
        } if (rand.nextInt(2) == 0){ 
        System.out.println("**********");
        }
     }
    }
}

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找类似的东西:

public static void main(String[] args) 
{     
    // Create a Random picture using asterisks
    Random rand = new Random();

    for (int lineCnt = 0; lineCnt < 10; lineCnt++) {
        for (int i = 0; i < (rand.nextInt(9) + 1); i++) {
            System.out.print("*");
        }
        System.out.println();
    }
}

请记住,有一些更复杂的方法可以创建一个包含n个字符的字符串(参见2804827)。

请注意代码的格式。太可怕了......