根据变量名,该方法以Java输出一些内容

根据变量名,该方法以Java输出一些内容,java,Java,我写了一个方法来打印我的结果。如果调用参数,我是否可以修改该方法以打印不同的消息,比如说“result3” 在下面的例子中,我无法访问方法内部的变量result2。Eclipse说“'result2'不能解析为变量” 是否需要将“printAnswer”修改为非静态方法?作为参数传递给该方法的变量的名称对于该方法来说是未知的。此外,可能涉及多个变量 printAnswer(result2+result3); 或者根本没有变量 printAnswer(42.53); 使“传递给我的方法的变量的

我写了一个方法来打印我的结果。如果调用参数,我是否可以修改该方法以打印不同的消息,比如说“result3

在下面的例子中,我无法访问方法内部的变量result2。Eclipse说“'result2'不能解析为变量”


是否需要将“printAnswer”修改为非静态方法?

作为参数传递给该方法的变量的名称对于该方法来说是未知的。此外,可能涉及多个变量

printAnswer(result2+result3);
或者根本没有变量

printAnswer(42.53);
使“传递给我的方法的变量的名称是什么?”这个问题无法回答

方法只能作用于
answer
参数的值,而不能作用于用于调用方法的参数表达式

如果要在值之外的某个方面进行区分,请让调用者向您传递一个附加参数,如下所示:

static void printAnswer (double answer, String name) {
    ...
}
static void printAnswer (double answer) {
    if(answer>0){
          System.out.println("The answer is positive: " + answer);
     }else{
          System.out.println("The answer is negative or cero: " + answer);
     }
}
 public static double addValues(Double... values){
    double sum=0;
    for(Double value:values){
        sum+=value.doubleValue();
    }
    return sum;
}

方法不知道作为参数传递给方法的变量的名称。此外,可能涉及多个变量

printAnswer(result2+result3);
或者根本没有变量

printAnswer(42.53);
使“传递给我的方法的变量的名称是什么?”这个问题无法回答

方法只能作用于
answer
参数的值,而不能作用于用于调用方法的参数表达式

如果要在值之外的某个方面进行区分,请让调用者向您传递一个附加参数,如下所示:

static void printAnswer (double answer, String name) {
    ...
}
static void printAnswer (double answer) {
    if(answer>0){
          System.out.println("The answer is positive: " + answer);
     }else{
          System.out.println("The answer is negative or cero: " + answer);
     }
}
 public static double addValues(Double... values){
    double sum=0;
    for(Double value:values){
        sum+=value.doubleValue();
    }
    return sum;
}

您不能,也不应该基于变量名对输出进行条件设置,只能使用基于变量值的条件

像这样:

static void printAnswer (double answer, String name) {
    ...
}
static void printAnswer (double answer) {
    if(answer>0){
          System.out.println("The answer is positive: " + answer);
     }else{
          System.out.println("The answer is negative or cero: " + answer);
     }
}
 public static double addValues(Double... values){
    double sum=0;
    for(Double value:values){
        sum+=value.doubleValue();
    }
    return sum;
}
编辑:

如果您想编写sum方法,使其接受未知数量的值进行求和,那么您可以这样编写:

static void printAnswer (double answer, String name) {
    ...
}
static void printAnswer (double answer) {
    if(answer>0){
          System.out.println("The answer is positive: " + answer);
     }else{
          System.out.println("The answer is negative or cero: " + answer);
     }
}
 public static double addValues(Double... values){
    double sum=0;
    for(Double value:values){
        sum+=value.doubleValue();
    }
    return sum;
}
通过这种方式,您可以知道访问这些参数的参数数量,就像使用任何数组一样:

values.length
并用任意数量的参数调用它

addValues(1.5,1.6,5.9,2.3);

您不能,也不应该基于变量名对输出进行条件设置,只能使用基于变量值的条件

像这样:

static void printAnswer (double answer, String name) {
    ...
}
static void printAnswer (double answer) {
    if(answer>0){
          System.out.println("The answer is positive: " + answer);
     }else{
          System.out.println("The answer is negative or cero: " + answer);
     }
}
 public static double addValues(Double... values){
    double sum=0;
    for(Double value:values){
        sum+=value.doubleValue();
    }
    return sum;
}
编辑:

如果您想编写sum方法,使其接受未知数量的值进行求和,那么您可以这样编写:

static void printAnswer (double answer, String name) {
    ...
}
static void printAnswer (double answer) {
    if(answer>0){
          System.out.println("The answer is positive: " + answer);
     }else{
          System.out.println("The answer is negative or cero: " + answer);
     }
}
 public static double addValues(Double... values){
    double sum=0;
    for(Double value:values){
        sum+=value.doubleValue();
    }
    return sum;
}
通过这种方式,您可以知道访问这些参数的参数数量,就像使用任何数组一样:

values.length
并用任意数量的参数调用它

addValues(1.5,1.6,5.9,2.3);

正确,在方法中,变量名为
answer
printAnswer
不知道您使用的变量的名称。正确,在方法中,变量名为
answer
printAnswer
不知道您使用的变量的名称。这是因为如果调用方法,我需要一些东西(s1,s2)当我调用方法addValues(s1,s2,s3)时,它会输出一些不同的东西。我编辑了答案以包含我认为您正在寻找的内容。这是因为我想要一些东西,如果调用方法addValues(s1,s2),它会输出一些不同的东西,而当我调用方法addValues(s1,s2,s3)时等等..我编辑了答案以包含我认为你在寻找的内容。