【问题标题】:Writing a function in java [duplicate]用java编写函数[重复]
【发布时间】:2016-02-28 18:33:04
【问题描述】:

好的,我正在尝试在 java 中编写函数 y = c + bx + cx^2 并能够将其称为 main 方法。这是我目前所拥有的:

public double poly(double c, double b, double a, double x)
{ 
    y = c + b*x + a*x*x;    
    return y;
}       

这是我在 main 方法中输入的内容:

public static void main(String[] args)
{
    System.out.println(poly(2,2,2,2));
}

我得到的错误是

非静态方法 poly(double,double,double,double) 不能从静态上下文中引用。

我该如何解决这个问题?我只是想评估函数并打印出结果。

【问题讨论】:

  • 报错信息很清楚。
  • 读取错误,它只是说明问题所在,将 poly 方法设为静态。
  • 你知道static在Java中是什么意思吗?
  • 多项式通常写在左边的最高指数
  • @cricket_007 幸好加法是可交换的!

标签: java function math methods


【解决方案1】:

只需在方法中添加static

public static double poly(double c, double b, double a, double x)
{ 
    y = c + b*x + a*x*x;    
    return y;
}

Java 中的 static 关键字意味着变量或函数在该类的所有实例之间共享,因为它属于该类型,而不是实际对象本身。所以如果你有一个变量: private static int i = 0;并且您在一个实例中增加它( i++ ),更改将反映在所有实例中。


编辑:解决方案

public class sample {

    public static void main(String[] args) {
        System.out.println(poly(2, 2, 2, 2));
    }

    public static double poly(double c, double b, double a, double x) {
        double y = c + b * x + a * x * x;
        return y;
    }
}

输出: 14

【讨论】:

  • 我添加了这一点,当我运行代码时,我遇到了消息“无法从静态上下文引用非静态变量 y。”
  • @noName 表示您没有添加它。它告诉你你错过了static,再看看我的帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 2014-11-21
  • 2014-11-19
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多