首页 > 解决方案 > 重新排列代码片段后获得额外的“-”

问题描述

所以我从 Head First Java 书开始学习 java 并偶然发现了一个练习。我需要重新排列这些代码片段以获得如下输出:

a-b c-d

代码片段是:

if (x == 1) {
                System.out.print("d");
                x = x - 1
            }
if (x == 2) {
                System.out.print("b c");
            }
if (x > 2) {
                System.out.print("a");
           }
while (x > 0) {
x = x - 1;
System.out.print("-");
int x = 3;

所以我做了这样的事情:

public class cc {
    public static void main(String [] args) {
        int x = 3;
        while (x > 0) {
            if (x == 2) {
                System.out.print("b c");
            }
            if (x > 2) {
                System.out.print("a");
            }
            if (x == 1) {
                System.out.print("d");
            }
            x = x - 1;
            System.out.print("-");
        }
        
    }

}

我得到的输出是:

a-b c-d-

我做错什么了

标签: java

解决方案


您错过了其中x = x - 1;一个 if 语句,并将 print 语句放在错误的位置:

public class cc {
    public static void main(String [] args) {
        int x = 3;
        while (x > 0) {
            if (x == 2) {
                System.out.print("b c");
            }
            if (x > 2) {
                System.out.print("a");
            }
            x = x - 1;
            System.out.print("-");
            if (x == 1) {
                System.out.print("d");
                x = x - 1;
            }
        }

    }
}

推荐阅读