2015-11-01 63 views
0

我想在android中创建一个数学函数,但我遇到了很多问题。在android中的数学函数

首先,我不知道到底如何声明它,我的代码:

double x; 
double y = Math.abs(x) - Math.cos(x); 

,我要声明是f(x)= x-cos(x)但我得到一个错误是X不是初始化函数,但我想避免打字x = 0;什么的,因为后来我想改变x的值。其次,我不知道如何调用我的函数后来改变它的价值e.x f(y)或f(o)和x将被替换为另一个数字。

+0

我更担心第二个问题,所以请专注于初学者 – nonerth

回答

3

你不能用Java来做到这一点。你必须换你的函数的类/方法,如:

静态

public class MyFunction { 

    public static double call(double x) { 
    return Math.abs(x) - Math.cos(x); 
    } 
} 

double result = MyFunction.call(4); 

非静态

public class MyFunction { 

    public double call(double x) { 
    return Math.abs(x) - Math.cos(x); 
    } 
} 

double result = new MyFunction().call(4); 
+0

好的工作,虽然只是让你知道你必须使静态类MyFunction,以及至少在Android中。 – nonerth

+0

您可以使该方法不是静态的。其实我更喜欢非静态版本。 –

+0

伙计,你可以做像c#一样的扩展方法吗?比如,定义一个函数为'static T DoSomething(this string someString,int x)',然后你可以把它称为'string str =“hello world”; str.DoSomething(135);'?如果是这样的话,如果他经常使用双数的话,他肯定可以做到这一点,我认为他会。 –

3

你声明函数这种方式(如果我惹原谅我up语法,我有一段时间没有做java)

double calculate(double x) { 
    return Math.abs(x) - Math.cos(x); 
} 

,后来在你的代码,你可以使用它像这样:

double num = 10.5; 
double f = calculate(num); 

,并继续与任何你需要的。 我建议你看基本的java教程,
this playlist例如,或任何适合你的需求。如果你不熟悉函数的概念,你需要先看看所有的编程基础知识。

+0

另外,无论定义函数本身,@bigdestroyer对函数进行全局化的方式对我来说似乎都是体面的。我没有做太多的java,但我想我确实没有太多关于定义函数的知识。 –