-2

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

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

它应该看起来像这样:

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

这是我的代码:

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("");            
    }   
}
4

2 回答 2

0

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

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

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

于 2013-10-24T21:43:38.100 回答
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(" ");

}   
于 2013-10-24T22:15:33.843 回答