如何在循环中跳过print语句

时间:2015-05-12 08:41:18

标签: java

我有两个名为Test1和Test2的类。

class Test1{
    public void exe1(){
        System.out.println("Execute only one time");
        System.out.println("Execute iterations");
        System.out.println("Execute only last time");
    }
}

class Test2{
    public statuc void main(String args[]){
        Test1 ts = new Test1();
        for(int i=0 ; i<=3;i++){
            ts.exe1();
        }
    }
}

此结果的输出为:

Execute only one time
Execute iterations
Execute only last time
Execute only one time
Execute iterations
Execute only last time
Execute only one time
Execute iterations
Execute only last time

在java中,我得到的输出应该是:

Execute only one time
Execute iterations
Execute iterations
Execute iterations
Execute only last time

我的意思是第一个print语句应该在第一次执行,然后可以打印迭代次数,最后我的上一个print语句应该执行。

4 个答案:

答案 0 :(得分:3)

public void exe1(int i){
    if(i==0) System.out.println("Execute only one time");
    if(i==3) System.out.println("Execute only last time");
    else System.out.println("Execute iterations");
}

for(int i=0 ; i<=3;i++){
    ts.exe1(i);
}

在循环中使用i作为函数参数。

答案 1 :(得分:0)

尝试使用两个参数来检查是否应该打印文本

public void exe1(int counter, int totalCount){
   if (counter == 0) System.out.println("Execute only one time");
   System.out.println("Execute iterations");
   if (counter == totalCount) System.out.println("Execute only last time");
}

for(int i=0 ; i<=3;i++){
   ts.exe1(i,3);
}

答案 2 :(得分:0)

class Test1 {
public void exe1(boolean isFirst, boolean isLast) {

    if (isFirst) {
        System.out.println("Execute only one time");
    } else {
        if (isLast) {
            System.out.println("Execute only last time");
        } else {
            System.out.println("Execute iterations");
        }
    }
}
}

public class Test2 {
public static void main(String args[]) {

    Test1 ts = new Test1();

    for (int i = 0; i <= 3; i++) {

        if (i == 0) {
            ts.exe1(true, false);
        } else {

            if (i == 3) {
                ts.exe1(false, true);
            } else {
                ts.exe1(false, false);
            }
        }
    }
}
}

答案 3 :(得分:0)

  class Test1{
      public void exe1(int i){
          If(i==0)
              System.out.println("Execute only one time");
          If(i>0 && i<3)
              System.out.println("Execute iterations");
          Else
              System.out.println("Execute only last time");

    }
}

顺便说一句,下次请以适当的方式格式化您的代码并检查错误。如果按原样运行它,它将无法编译。