-2

我对 if 语句和定义整数有疑问。在这段代码中:

if(matches!=null) {t =1;
            for (String match : matches) {
                if (t == 1 && "one".equals(match)) {
                    testSound.start();
                    t = 2;
                    System.out.println("the value of t is" + t);
                } else if (t == 2 && "two".equals(match)) {
                    testSound.start();
                    t = 3;
                    System.out.println("the value of t is" + t);
                }
            }

如果第一个 if 语句执行并返回 2,然后 match = "two",那么 else if 语句会起作用吗?如果不是,我将如何做到这一点,以便当我设置 t=2 时,它实际上是 t=2。现在它不起作用,所以让我知道!

4

2 回答 2

3

一切正常:在t++之前执行System.out.println,所以在t打印时它的值已经是 2,而不是 1。如果需要1打印,请移动t++以使其在打印之后出现。

之后第二个 if 语句没有执行,因为匹配是“一”,而不是“二”。

于 2013-05-11T20:25:47.377 回答
1

你可以做到System.out.println("the value of t is" + (t++));。这样,您将首先将 的值打印t到控制台,然后将其值加 1。

于 2013-05-11T20:35:33.040 回答