【问题标题】:Java printing patterns [closed]Java 打印模式 [关闭]
【发布时间】:2016-06-22 13:16:18
【问题描述】:

我是 Java 新手。 我有下一个代码:

public static void main(String[] args) {
        for(int k = 10; k > 0; k--)
        {
            for(int l=0; l < k-1; l++)
                {
                    System.out.print(' ');
                }
            for(int n=10; n > k-1; n--)
                {
                    System.out.print('*');
                }
         System.out.println();
        } 
    }

它打印这个:

         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
**********

但我想像这样打印它,里面是空的:

         *
        **
       * *
      *  *
     *   *
    *    *
   *     *
  *      *
 *       *
**********

谁能解释我怎么做。 我知道这不是解决家庭作业的地方。但是有人能告诉我用文字解决问题的算法吗? 我不需要现成的解决方案,因为我想自己理解和解决它。那么如何在里面放空格呢?

【问题讨论】:

    标签: java for-loop


    【解决方案1】:

    提示:在第二个循环中,您应该为n 的第一个和最后一个值打印一个'*',而不是全部。对于其他职位,请打印' '

    【讨论】:

    • 以及如何找到第一个和最后一个值?
    • 使用if 声明。看看你是如何计算n的值的。
    【解决方案2】:

    提示:在第二个内部 for 循环中,您可以使用 if 语句检查 n 的最大值和最小值以及 k 的最小值,然后打印“*”,否则打印“”。像这样:

    for(int n = 10; n > k - 1; n--){
       if(n == 10 || n == k || k == 1){
         System.out.print('*');
       } else {
         System.out.print(' ');
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多