0

有人可以解释一下我是如何得到这个答案的:

三乘二 = 6

代码:

public class Params1 {
    public static void main(String[] args) {
        String one = "two";
        String two = "three";
        String three = "1";
        int number = 20;
        sentence(one, two, 3);
    }

    public static void sentence(String three, String one, int number) {
        String str1 = one + " times " + three + " = " + (number * 2);
    }

}
4

5 回答 5

7

这是一个有用的图表:

在此处输入图像描述

我希望这很清楚。

以下是如何让相同的代码不那么混乱:

    public static void main(String[] args) {
        String a = "three";
        String b = "two";
        sentence(a, b, 3);
    }

    public static void sentence(String a, String b, int number) {
        String str1 = a + " times " + b + " = " + (number * 2);
        System.out.println(str1); // to let you inspect the value
    }
于 2013-01-07T13:07:33.610 回答
5

在调用sentence()

sentence(one, two, 3);

只是为了参数的缘故,用它们的值替换所有变量:

sentence( "two", "three", 3);

然后看看该函数内的参数得到什么值:

three == "two"
one == "three"
number == 3

然后替换您生成的句子中的参数,您就有了结果!

此外,您的变量名称并不是真正不言自明的。您应该重新考虑它们以防止此类误解。

于 2013-01-07T13:04:33.173 回答
0
String str1 = one + " times " + three + " = " + (number * 2);

这里one== two==“三”

three== one== “两个”

number== 3

所以你把它拿出来了。你最好参考:JAVA方法帮助

于 2013-01-07T13:10:23.567 回答
0

真的很难猜出你想在这里实现什么。当然,您不希望将“字符串”文字解释为实际数值......

更正您的变量值:

String one = "one";
String two = "two";

和:

sentence(three, one, 3);

和:

public static void sentence(String three, String one, int number) {
    String str1 = one + " times " + three + " = " + (number);
}
于 2013-01-07T13:03:15.493 回答
0

您将 3 作为“句子”方法的参数。

sentence(one, two, 3);

将其更改为

sentence(one, two, number);
于 2013-01-07T13:03:36.460 回答