【问题标题】:Simple java fish in a pond nested loop [closed]池塘嵌套循环中的简单java鱼[关闭]
【发布时间】:2012-07-10 04:58:00
【问题描述】:

下面的一段代码给了我很长的一条鱼:

<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< (....up to 43 fish )


{
 for (int i=0; i<10; i++)
 { 

 for (int j=0; j<10; j++)
 { 
    if ( (i*10+j) < 43) 
    {
    System.out.print(" <#><");
    }

    else{
    System.out.print("     ");

   }

我试图弄清楚如何将鱼限制在 10 x 10 的范围内,所以它看起来更像这样:

<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#>< <#><
<#>< <#>< <#>< <#><

【问题讨论】:

    标签: java if-statement for-loop nested-loops


    【解决方案1】:
    for (int i=0; i<43; i++)
    { 
        if (i > 0 && i%10 == 0) 
            System.out.println();
        System.out.print(" <#><");
    }
    

    i % 10 是一个模运算。它将i10 相除并返回除法的其余部分。示例:如果i17,那么结果将是7,因为17 / 10 = 1 其余为7。剩下的就是0 只有当i0,10,20,30,40 时才会发生。

    i &gt; 0 是一个额外的检查,以防止在i 仍然是00 / 10 = rest 0 时从循环开始打印额外的行

    (如果所有必须是true,您可以将多个条件与&amp;&amp;放在一起。
    如果其中 一个 必须是 true,您可以将多个条件与 || 放在一起。 )

    【讨论】:

    • 谢谢,我不确定 (i > 0 && i%10 == 0 ) 到底是什么,但它有效!
    • 查看我的编辑以获得解释。
    【解决方案2】:

    在外循环末尾添加System.out.println();

    【讨论】:

      【解决方案3】:

      您缺少的是 System.out.println 。 println 是指打印行。打印后光标移动到下一行。

        for (int i=0; i<10; i++) { 
            for (int j=0; j<10; j++) { 
                if ( (i*10+j) < 43)  {
                   System.out.print(" <#><");
                }
                else {
                   System.out.println("     ");
                }
            }
        }
      

      【讨论】:

        【解决方案4】:

        试试这个....

        public class hi {
        
            public static void main(String[] args){
                int i=0;
                while (i<43){
        
                      for (int j=0 ; j<10 ; j++){
        
                       System.out.print(" <#><");
        
                       }
                      System.out.println();
                      i++;
                     }
            }
        }
        

        【讨论】:

          【解决方案5】:

          在相同的代码中,以下修改将产生预期的输出。

          for (int i=0; i<10; i++)
          { 
           for (int j=0; j<10; j++)
           { 
              if ( (i*10+j) < 43) 
              {
                 System.out.print(" <#><");
              }
          
              else
              {
                 System.exit(0);//if fishes exceeds 47 Exit
              }
           }
           System.out.println();//for new line after 10 fishes
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-09-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多