2016-07-14 21 views
1

我想在我的主要方法中引用一个函数。随着双可变输入X和字符串输入Y,我希望函数执行以下操作:在Java中制作多变量函数

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的?我将如何呼吁它?谢谢!

+1

http://www.tutorialspoint.com/java/java_methods.htm – Compass

+0

没有任何答案的工作吗?或者你需要更多的帮助? –

+0

你意识到一个方法和一个函数是一回事...... – shmosel

回答

0

首先,您需要将double转换为String。如果你想返回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; 
} 

或者,如果你只是想打印出来并DONOT希望它返回String,然后

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); 
} 

然后,你将只需要调用上述方法在你的主要方法中。

ps:我将double转换为String,因为为什么要采取额外的步骤先将其转换为BigDecimal,然后再将其转换为String

+1

你的第一个函数忽略'y'。由于没有状态,该方法应该也可以是“静态”的。 – 4castle

+0

@ 4castle固定thnx指出它 –

+0

优秀!谢谢! –

0

我不知道如果我理解你的权利,但我尽量豆你^^

如果你想打电话从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); 
} 
+0

正是我在找的东西!谢谢! –