0

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」を先頭に配置しようとしましたが、アプリケーションを実行できませんでした。

4

3 に答える 3

1

このようなもの :

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));
}

}

于 2011-11-19T09:33:30.377 に答える
1

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();
    }
}
于 2011-11-19T10:44:55.617 に答える
0

この特定の方程式を解きたい場合 1 つの方法は、方程式を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);
}

楽しい方法はwolframalphaを使うことです!

于 2011-11-19T10:06:46.553 に答える