Java 套圈压延机 publicstaticvoidmain(字符串参数[]){ 系统输出打印(“M T W T F S”); System.out.println(); for(int d=1;d

Java 套圈压延机 publicstaticvoidmain(字符串参数[]){ 系统输出打印(“M T W T F S”); System.out.println(); for(int d=1;d,java,Java,我认为不需要嵌套for循环 请尝试以下操作: public static void main(String args[]) { System.out.print("M T W T F S S"); System.out.println(); for (int d=1; d<=7; d++){ System.out.print(d + "

我认为不需要嵌套for循环

请尝试以下操作:

public static void main(String args[]) {

        System.out.print("M   T   W   T   F   S   S");

            System.out.println();

            for (int d=1; d<=7; d++){
                System.out.print(d + "   ");
            }

            System.out.println();

                for (int e=8; e<=15; e++){
                    System.out.print(e + "  ");
                }

                System.out.println();

                    for (int f=16; f<=22; f++){
                        System.out.print(f + "  ");
                    }

                    System.out.println();

                        for (int g=23; g<=29; g++){
                            System.out.print(g + "  ");
            }
    }
publicstaticvoidmain(字符串[]args){
System.out.println(“M T W T F S”);
对于(int i=1;i<30;i++){
如果(i%7==0){
System.out.println(i+“”);
}
否则{
系统输出打印(i+“”);
}
}
}

一定要考虑使用<代码> \t>代码>而不是一组空格。这将显示输出的清晰度。但是,如果你希望你有这些空格,请保持原样。

你可以使用这样的东西:

public static void main(String[] args) {
    System.out.println("M   T   W   T   F   S   S");
    for(int i=1; i < 30; i++){
        if (i % 7 == 0){
            System.out.println(i + "   ");
        }
        else{
            System.out.print(i + "   ");
        }
    }
}

对于(int d=1;d首先,检查
字符串格式
以获得更清晰的输出

但是,为了更简单,我将使用
\t

你必须考虑你的代码是做什么的:在一个月内迭代几天,所以你只需要一个从1到30的循环

那么,什么时候做一个折线呢?当这个月结束的时候。也就是说,假设周一从1开始,当天可以除以7

所以你需要的循环是这样的:

public static void main(String[] args) {
    System.out.println("M   T   W   T   F   S   S");
    for(int i=1; i < 30; i++){
        if (i % 7 == 0){
            System.out.println(i + "   ");
        }
        else{
            System.out.print(i + "   ");
        }
    }
}
System.out.println(“M\tT\tW\tT\tF\tS\tS”);
//在每月的每一天迭代

对于(int i=1;i)如果您有需要改进的工作代码,您可能需要检查您的问题是否可以提交给codereview.stackexchange.com。如果您只想查看,我相信这项工作会更好。首先,您的第二个循环不正确(它打印8个数字,而不是7个)然后有两种策略:一个外部循环,从0到3进行迭代(每个当前循环的迭代),并生成当前循环的边界,如果我没有弄错的话,这些边界是init=x*7+1;final=(x+1)*7,或者一个测试它是否打印了一个打印了7天的倍数的循环,并在这种情况下添加一个换行符谢谢,错过了,非常感谢,因为我是Java新手,正在学习嵌套循环,我试图用循环本身解决问题,而不使用任何其他方法,事实上,我知道我可以使用if-elsE在for循环中,我试图用循环来解决它。感谢帮助。@ SD23不用担心!很高兴我能帮上忙!如果你觉得这个答案有用的话,把这个答案标记为正确的。它可以帮助其他用户轻松地找到类似问题的答案。
for (int d=0; d<4; d++){
    for (int i=1+d*7; i<=(d+1)*7; i++){
        System.out.print(i + "   ");
    }
    System.out.println();
}
M       T       W       T       F       S       S
1       2       3       4       5       6       7       
8       9       10      11      12      13      14      
15      16      17      18      19      20      21      
22      23      24      25      26      27      28      
29      30