非常基本的java问题,嵌套for循环

非常基本的java问题,嵌套for循环,java,ascii,Java,Ascii,我试图制作一个日历的周块,当我尝试连接日块时,它们是垂直打印的,而不是相邻打印的?我知道我有println语句,但我认为这不应该引起问题,因为它在一个循环中 代码: 我想要的是: ====================================================================== | | | | | | | | |

我试图制作一个日历的周块,当我尝试连接日块时,它们是垂直打印的,而不是相邻打印的?我知道我有println语句,但我认为这不应该引起问题,因为它在一个循环中

代码:

我想要的是:

======================================================================
|         |         |         |         |         |         |            
|         |         |         |         |         |         |           
|         |         |         |         |         |         |           
|         |         |         |         |         |         |            
|         |         |         |         |         |         |            
我知道这是很基本的,但我真的不知道我做错了什么。这肯定是println语句的问题,但是它嵌套在for循环中,所以我不确定为什么会导致这些问题。谢谢

这就够了

public class MyCalendar {

    public static void main(String[] args) {
        for (int week = 1; week <= 7; week++) {
            System.out.print("=======");
        }
        System.out.println();
        for (int week = 1; week <= 7; week++) {
            System.out.println("|       |       |       |       |       |       |");
        }

    }
}
这么多就够了

public class MyCalendar {

    public static void main(String[] args) {
        for (int week = 1; week <= 7; week++) {
            System.out.print("=======");
        }
        System.out.println();
        for (int week = 1; week <= 7; week++) {
            System.out.println("|       |       |       |       |       |       |");
        }

    }
}

我想你应该试试这个:

publicstaticvoiddrawrow(){
收割台(尺寸*7);

对于(int week=1;week我想你应该试试这个:

publicstaticvoiddrawrow(){
收割台(尺寸*7);

对于(int week=1;week为什么不打印ln而不是\n?另外,
\n
不是独立于平台的,因此根据操作系统的不同,可能会导致错误的输出(例如在windows上)。@VietDD yes两种方式都会发生相同的事情;)@Zabuzard否就java而言,任何平台\n都是新行字符java@Zabuzard我很抱歉windows中的
\r\n
。无论如何,感谢您更新我的知识。让我来解释一下答案为什么不使用println而不是\n?另外,
\n
不是独立于平台的,因此根据操作系统的不同,实际上可能会导致错误的输出(例如在windows上)。@VietDD yes同一事情发生的两种方式;)@Zabuzard否就java而言,任何平台\n都是新行字符java@Zabuzard很抱歉在windows中使用了它的
\r\n
。无论如何,谢谢你更新了我的知识。让我看看答案看看你画一行的方法,你正在打印
,然后是很多空格,然后是换行
println()
。显然,这会导致下一个
|
位于下一行。相反,您应该首先完成所有空格和
|
,然后执行
println()
之后,在你的循环之外。我不知道你对
divide
方法有什么想法,但是页眉必须一次性打印,所以一次打印多个
=
,就是这样。看看你画一行的方法,你正在打印
,然后是很多空格,然后是换行
println()
。显然,这会导致下一个
|
位于下一行。相反,您应该首先完成所有空格和
|
,然后执行
println()
之后,在你的循环之外。我不知道你对
除法的想法,但是页眉必须一次性打印,所以一次打印多个
=
,就是这样。
public class MyCalendar {

    public static void main(String[] args) {
        for (int week = 1; week <= 7; week++) {
            System.out.print("=======");
        }
        System.out.println();
        for (int week = 1; week <= 7; week++) {
            System.out.println("|       |       |       |       |       |       |");
        }

    }
}
=================================================
|       |       |       |       |       |       |
|       |       |       |       |       |       |
|       |       |       |       |       |       |
|       |       |       |       |       |       |
|       |       |       |       |       |       |
|       |       |       |       |       |       |
|       |       |       |       |       |       |
src : $ java MyCalendar 
======================================================================
|         |         |         |         |         |         |         
|         |         |         |         |         |         |         
|         |         |         |         |         |         |         
|         |         |         |         |         |         |         
|         |         |         |         |         |         |         
|         |         |         |         |         |         |         
|         |         |         |         |         |         |