java:上次运行后如何结束“do while”循环

9rygscc1  于 2021-07-06  发布在  Java
关注(0)|答案(3)|浏览(290)

如何更改代码,使最后一次打印输出为空打印而不是“+”?
基于给定的x数 runLoop(x) ,代码将一行打印出“+”。
例如 runLoop(5) 印刷品 '+++++' ,在这之后,我想得到一个空的打印,但我以“+”结束。
编辑:我认为这是因为程序在检查while之前先运行do。首先,程序运行runloop(5),因此它期望输出为''++++'',第二次运行runloop(0),因此程序期望接收一个空行,而不是''+''。我想做的是得到空行而不是“+”。

public static void runLoop(int x){

    do {
        System.out.print("+");
        x--;

    }while ( x > 0);
        System.out.println("");
}
db2dz4w8

db2dz4w81#

我似乎无法用你提供的代码复制你描述的错误。你确定方法外没有+的打印吗?
为什么不把它转过来,用换行符打印最后一个呢?

private static void loop(int x) {
    while ( x > 1) {
        System.out.print("+");
        x--;
    }
    System.out.println("+");
}
mfuanj7w

mfuanj7w2#

我不太明白你的问题。但是如果你希望最后的输出是不同的,那就让while是不同的 x=>0 然后打印一些东西

public static void runLoop(int x){

    do {
        System.out.print("+");
        x--;

    }while ( x >= 0);
        System.out.println("");
   //you can print what you need after the while loop  
   //System.out.println("");
}
qvk1mo1f

qvk1mo1f3#

我不认为这是个好问题

public static void runLoop(int x){
    string token = ""
    do {
        System.out.print(token);
        x--;
        token = "+"
    }while ( x >= 0);
    System.out.println("");
}
public static void runLoop(int x){
    if(x < 1){
       System.out.println("");
       return;
    }
    do {
        System.out.print("+");
        x--;
    }while ( x > 0);
    System.out.println("");
}

相关问题