如何在Java中使用for-loop打印由符号生成的图像?

时间:2013-10-24 21:38:58

标签: java for-loop

我坚持使用for-loop在第二行末尾制作符号,我曾尝试过几次仍然无法正常工作。有人能告诉我哪里做错了吗?

   ////////////////\\\\\\\\\\\\\\\\ 
   ////////////********
   ////////**************** 
   ////************************
   ********************************

它假设看起来像这样:

   ////////////////\\\\\\\\\\\\\\\\ 
   ////////////********\\\\\\\\\\\\ 
   ////////****************\\\\\\\\ 
   ////************************\\\\ 
   ********************************

这是我的代码:

public static void main (String [] args){

    for (int lineOne=1; lineOne<=16; lineOne += 2){
        System.out.print("//");
    }
    for (int lineOne=1; lineOne<=32; lineOne += 2){
        System.out.print("\\");
    }
    System.out.println("");

    for (int a=8; a<=32; a += 8)
    {
        for (int b=12; b < (28 - a / 2); b +=2)
        {
            System.out.print("//");
        }
        for (int c=0; c<a; c++)
        {
            System.out.print("*");
        }
        System.out.println("");            
    }   
}

2 个答案:

答案 0 :(得分:0)

首先,"\\"实际上只是一个反斜杠,已转义。这就是为什么你必须打印32 "\\"来平衡16 "//"的原因。您可能打算打印出16 "\\\\" s。

其次,你没有代码在第一行后打印反斜杠。所以我建议你添加一些代码来处理这个问题。

第三,您的源代码是制表符和空格缩进的混合。在查看自己程序的逻辑流程时,可能会让您感到困惑。一致的缩进可能对你有帮助。

答案 1 :(得分:0)

似乎你根本就没打印过它。

应该可以正常工作:

    for (int lineOne=1; lineOne<=16; lineOne += 2){
    System.out.print("//");
                                                 }
    for (int lineOne1=1; lineOne1<=32; lineOne1 += 2){
    System.out.print("\\");
       }
    System.out.println("");
    for (int a=8; a<=32; a += 8)
      {
    for (int b=12; b < 28-a/2; b +=2)
    {
        System.out.print("//");
    }
    for (int c=0; c<a; c++)
    {
        System.out.print("*");

    }

    // this prints your "\\"
    for(int k = 0;k<16-a/2;k++) 
    {
     System.out.print("\\");   
    }

    System.out.println(" ");

}