Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 如何使用';x';数学中的变量?_Java_Variables - Fatal编程技术网

Java 如何使用';x';数学中的变量?

Java 如何使用';x';数学中的变量?,java,variables,Java,Variables,我如何处理像数学中那样的“x”变量 我需要写一个确定多项式函数的代码。例如,如果输入数据为2、4、8、9,则函数将为2+4x+8x^2+9x^3 现在我知道如何处理输入数据等,但我不知道如何声明一个没有值的变量,例如,我声明了一个变量x=double,但我仍然需要初始化它,但我现在还不想给x一个值 那么,我如何编写一个方法,例如,将“x”返回到某事物的幂 这就是我目前拥有的(当然它仍然不起作用) 公共级国际刑警组织{ 公共静态void main(字符串[]args){ 扫描仪=新的扫描仪(Sys

我如何处理像数学中那样的“x”变量

我需要写一个确定多项式函数的代码。例如,如果输入数据为2、4、8、9,则函数将为2+4x+8x^2+9x^3

现在我知道如何处理输入数据等,但我不知道如何声明一个没有值的变量,例如,我声明了一个变量x=double,但我仍然需要初始化它,但我现在还不想给x一个值

那么,我如何编写一个方法,例如,将“x”返回到某事物的幂

这就是我目前拥有的(当然它仍然不起作用)

公共级国际刑警组织{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
//获取用户输入(多项式系数和区间值x1和x2)
ArrayList多项式效率=新ArrayList();
int数量系数=0;
while(scanner.hasNextDouble()){
polynomialefficients.add(scanner.nextDouble());
数量系数++;
}
字符串in=scanner.next();
double x1=scanner.nextDouble();
double x2=scanner.nextDouble();
//调用方法f来确定多项式函数
双x;
double[]termsFunction=新的double[Amount系数];
对于(int i=0;i
}

您需要创建一个表示多项式的对象类。该类将系数存储在实例变量中,并提供一种以给定值计算多项式的方法

import java.util.*;

public class Foo {

    public static void main(String[] args)
    throws Exception
    {
        Scanner scanner = new Scanner(System.in);

        //get user input (polynomial coefficients and interval values x1 and x2)
        ArrayList<Double> polynomialCoefficients = new ArrayList<Double>();
        int amountCoefficients = 0;
        while (scanner.hasNextDouble()) {
            polynomialCoefficients.add(scanner.nextDouble());
            amountCoefficients++;
        }

        Polynomial polynomial = new Polynomial(polynomialCoefficients);

        String in = scanner.next();

        while (scanner.hasNextDouble()) {
            double x = scanner.nextDouble();
            System.out.println("f(" + x + ") = " + polynomial.evaluate(x));
        }
    }

    static class Polynomial {

        ArrayList<Double> _coefficients;

        public Polynomial(ArrayList<Double> coefficients) {
            _coefficients = coefficients;
        }

        public double evaluate(double x) {
            double result = 0;

            // This algorithm is called Horner’s rule. See Knuth.
            for (int i = _coefficients.size() - 1; i>= 0; i--) {
                result *= x;
                result += _coefficients.get(i);
            }

            return result;
        }

    }

}
import java.util.*;
公开课Foo{
公共静态void main(字符串[]args)
抛出异常
{
扫描仪=新的扫描仪(System.in);
//获取用户输入(多项式系数和区间值x1和x2)
ArrayList多项式效率=新ArrayList();
int数量系数=0;
while(scanner.hasNextDouble()){
polynomialefficients.add(scanner.nextDouble());
数量系数++;
}
多项式=新多项式(多项式系数);
字符串in=scanner.next();
while(scanner.hasNextDouble()){
double x=scanner.nextDouble();
System.out.println(“f(“+x+””)=“+polyman.evaluate(x));
}
}
静态类多项式{
ArrayList_系数;
公共多项式(ArrayList系数){
_系数=系数;
}
公共双评估(双x){
双结果=0;
//这个算法被称为霍纳规则。参见Knuth。
对于(int i=_cofficies.size()-1;i>=0;i--){
结果*=x;
结果+=\u系数。得到(i);
}
返回结果;
}
}
}

如果我运行这个程序并键入
2 4 8 9 x 2.7
,那么它会打印
f(2.7)=248.267
,这是毫无意义的。

如果它没有价值,你就什么都做不了。
2x
也没有价值。我不确定你是否完全理解数学实际上是如何工作的。如果你把“x”返回到某事物的幂次方你实际期望的结果是什么?你是否在计算值?如果你没有
x
的值,你就不能根据
x
来确定结果。正如我在作业中所说,我被要求写三种方法,一种是确定多项式函数的方法,另一种是计算值的方法还有一种打印结果的方法。所以对于第一种方法,也就是我正在研究的方法,我显然还不需要计算值,我只需要确定多项式函数,所以x还没有一个值,我的意思是,我不能说x等于7或者其他什么,因为这是在第二种方法中确定的,我必须计算“一种计算值的方法”,您可能需要类似于
public double eval(double x){return x*x+3*x-7;}
你的x将是一个方法的参数。你知道任何编程吗?你尝试过什么吗?你读过关于编程工作原理的基本指南吗?对象类请在回答之前学习正确的术语。
import java.util.*;

public class Foo {

    public static void main(String[] args)
    throws Exception
    {
        Scanner scanner = new Scanner(System.in);

        //get user input (polynomial coefficients and interval values x1 and x2)
        ArrayList<Double> polynomialCoefficients = new ArrayList<Double>();
        int amountCoefficients = 0;
        while (scanner.hasNextDouble()) {
            polynomialCoefficients.add(scanner.nextDouble());
            amountCoefficients++;
        }

        Polynomial polynomial = new Polynomial(polynomialCoefficients);

        String in = scanner.next();

        while (scanner.hasNextDouble()) {
            double x = scanner.nextDouble();
            System.out.println("f(" + x + ") = " + polynomial.evaluate(x));
        }
    }

    static class Polynomial {

        ArrayList<Double> _coefficients;

        public Polynomial(ArrayList<Double> coefficients) {
            _coefficients = coefficients;
        }

        public double evaluate(double x) {
            double result = 0;

            // This algorithm is called Horner’s rule. See Knuth.
            for (int i = _coefficients.size() - 1; i>= 0; i--) {
                result *= x;
                result += _coefficients.get(i);
            }

            return result;
        }

    }

}