Java 如何使用';x';数学中的变量?
我如何处理像数学中那样的“x”变量 我需要写一个确定多项式函数的代码。例如,如果输入数据为2、4、8、9,则函数将为2+4x+8x^2+9x^3 现在我知道如何处理输入数据等,但我不知道如何声明一个没有值的变量,例如,我声明了一个变量x=double,但我仍然需要初始化它,但我现在还不想给x一个值 那么,我如何编写一个方法,例如,将“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
公共级国际刑警组织{
公共静态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;
}
}
}