Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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:联立方程组_Java_Equation_Simultaneous - Fatal编程技术网

Java:联立方程组

Java:联立方程组,java,equation,simultaneous,Java,Equation,Simultaneous,我想用java应用程序来解决这个方程 看起来像这样 y*n-1 = y*n-2 + 1035 + [(n-1)^2 + (n-3)] * y y*n = y*n-1 + (n^2 * y) 因此,用户应该输入N,然后Java应用程序应该计算Y是多少。 这有可能吗?如果有,怎么做 提前感谢,, 迈克尔 编辑: 多亏了mprabhat,现在看起来是这样,但不知何故我还是做错了 public class equation { private static double solve

我想用java应用程序来解决这个方程

看起来像这样

y*n-1 = y*n-2 + 1035 + [(n-1)^2 + (n-3)] * y
y*n   = y*n-1 + (n^2 * y)
因此,用户应该输入N,然后Java应用程序应该计算Y是多少。 这有可能吗?如果有,怎么做

提前感谢,, 迈克尔

编辑:

多亏了mprabhat,现在看起来是这样,但不知何故我还是做错了

   public class equation
   {


private static double solveFirstEquation(double n){
    double y =0;
    if(n > 0) {
        y = ((n -1) + Math.pow( n , 2))/ n;
    }
    return y;
}

private static double solveSecondEquation(double n){
    double y = 0;
    if(n > 1) {
        y = ((n-2)+ (Math.pow(n-1, 2) + n-3) + 1035)/(n-1);
    }
    return y;


}
public static void main(String args[])
{
System.out.println("How much is n?");
int n = 0;
n = Keyboard.readInt();
}
    }
我试图将“void main String args”放在顶部,但这不允许我运行应用程序。

类似于这样的内容:

import java.util.Scanner;

public class TestEquation {

private static double solveFirstEquation(double n) {
    double y = 0;
    if (n > 0) {
        y = ((n - 1) + Math.pow(n, 2)) / n;
    }
    return y;
}

private static double solveSecondEquation(double n) {
    double y = 0;
    if (n > 1) {
        y = ((n - 2) + (Math.pow(n - 1, 2) + n - 3) + 1035) / (n - 1);
    }
    return y;

}
public static void main(String args[]) {
    System.out.println("How much is n?");
    double n = 0;
    Scanner scanner = new Scanner(System.in);
    n = scanner.nextDouble();
    System.out.println(solveFirstEquation(n));
    System.out.println(solveSecondEquation(n));
}

}

如果你想解这个方程 一种方法是将方程转换为
y=
形式

/*
 * y*n-1   =   y*n-2 + 1035 + [(n-1)^2 + (n-3)] * y
 * y = -1034 /(n^2-n-2)
 */
public static double eq1(double n){
    double m =n*n-n-2;
    return -1034 /m;
}

/*
 * y*n   = y*n-1 + (n^2 * y)
 * y = 1/n^2
 */
public static double eq2(double n){
    return 1/(n*n);
}
有趣的方法是使用


将您的
main
替换为

public static void main(String args[])
{
    System.out.println("How much is n?");
    try
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        System.out.print("First equation: ");
        System.out.println(solveFirstEquation(n));
        System.out.print("Second equation: ");
        System.out.println(solveSecondEquation(n));

    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

这是可能的,你们应该试着让他们回来问问题这里的键盘是什么?这是你自己的课吗?或者你想从控制台阅读?@MocialovBoris,啊,你不确定
[
)之间的区别。特别提到这一点比说某些东西“看起来模棱两可”要清楚得多,你同意吗?无论如何,你现在可以安全地删除你的评论了因为它对你不再含糊不清了。:)非常感谢你的帮助,但是我在让它正常工作时遇到了一些问题,请看一下我用完整代码编辑的主要帖子。嗯,这个等式肯定是不正确的。我手工得到(n=3)y=460。我无法执行“BufferedReader”和“InputStreamReader”。我是否需要在代码顶部添加一些东西,如一些库?您需要导入BufferedReader和InputStreamReader,如导入java.io.BufferedReader;导入java.io.InputStreamReader;