Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java实现多变量函数_Java_Function - Fatal编程技术网

用Java实现多变量函数

用Java实现多变量函数,java,function,Java,Function,我正在尝试创建一个可以在main方法中引用的函数。对于双变量输入X和字符串输入Y,我希望函数执行以下操作: BigDecimal bdX = new BigDecimal(X); String strX = String.valueOf(bdX.doubleValue()); strX = strX.replaceAll("E", " x 10^"); System.out.println("\nOutput = " + strX + Y); 在python中,您可以定义如下函数:

我正在尝试创建一个可以在main方法中引用的函数。对于双变量输入X和字符串输入Y,我希望函数执行以下操作:

 BigDecimal bdX = new BigDecimal(X);
 String strX = String.valueOf(bdX.doubleValue());
 strX = strX.replaceAll("E", " x 10^");

 System.out.println("\nOutput = " + strX + Y);
在python中,您可以定义如下函数:

def FunctionName(X,Y) {
//tasks
}

如何在Java中实现这一点?我该怎么称呼它呢?谢谢

首先,您需要将
double
转换为
String
。如果要返回该
字符串
,则:

public static String function(double x, String y) { 
    String strX = Double.toString(x); //String.valueOf(x) would have worked fine too
    strX = strX.replaceAll("E", " x 10^");
    return strX + y;
}
或者,如果您只想打印出来,而不想让它返回
字符串
,那么

public static void function(double x, String y) { 
    String strX = Double.toString(x);
    strX = strX.replaceAll("E", " x 10^");
    System.out.println("\nOutput = " + strX + Y);
}
然后在main方法中调用上面的方法


ps:我把
double
转换成
String
,因为为什么要先把它转换成
BigDecimal
,然后再转换成
String

首先,您需要将
double
转换为
String
。如果要返回该
字符串
,则:

public static String function(double x, String y) { 
    String strX = Double.toString(x); //String.valueOf(x) would have worked fine too
    strX = strX.replaceAll("E", " x 10^");
    return strX + y;
}
或者,如果您只想打印出来,而不想让它返回
字符串
,那么

public static void function(double x, String y) { 
    String strX = Double.toString(x);
    strX = strX.replaceAll("E", " x 10^");
    System.out.println("\nOutput = " + strX + Y);
}
然后在main方法中调用上面的方法


ps:我把
double
转换成
String
,因为为什么要先把它转换成
BigDecimal
,然后再转换成
String

我不知道我是否理解你的意思,但我试着回答你^^

如果要从main方法调用该方法,则必须将方法设置为静态

它看起来像:

public static void main(String args) {
    yourMethod(10.0, "Test"); // calls your method with example params
}

public static void yourMethod(double X, String Y) {
    // Your tasks
    BigDecimal bdX = new BigDecimal(X);
    String strX = String.valueOf(bdX.doubleValue());
    strX = strX.replaceAll("E", " x 10^");
    System.out.println("\nOutput = " + strX + Y);
}

我不知道我是否理解你的意思,但我试着回答你^^

如果要从main方法调用该方法,则必须将方法设置为静态

它看起来像:

public static void main(String args) {
    yourMethod(10.0, "Test"); // calls your method with example params
}

public static void yourMethod(double X, String Y) {
    // Your tasks
    BigDecimal bdX = new BigDecimal(X);
    String strX = String.valueOf(bdX.doubleValue());
    strX = strX.replaceAll("E", " x 10^");
    System.out.println("\nOutput = " + strX + Y);
}

这些答案有用吗?或者你需要更多的帮助?你意识到一个方法和一个函数是同一件事…有任何答案有效吗?或者您需要更多帮助?您意识到方法和函数是一回事……您的第一个函数忽略了
y
。该方法也应该是静态的,因为没有状态。太好了!谢谢大家!@JonathanMousley,如果这个答案帮助你考虑接受它?你的第一个函数忽略<代码> y>代码>。该方法也应该是静态的,因为没有状态。太好了!谢谢大家!@JonathanMousley,如果这个答案帮助你考虑接受它?我到底在找什么!谢谢正是我要找的!谢谢