-4

ユーザー入力がたとえば1.5に対して言う数値の罪を見つけようとしています。電卓で実行しましたが、機能しますが、コードが機能しません。

コードは次のとおりです。

package msd1;
import java.util.Scanner;
public class Part3
{     
    public static void main(String[] args) 
    {    
        Scanner scanner = new Scanner(System.in);

        System.out.println("Enter a number");

        double Height = scanner.nextDouble();

        double Angle =  Height/2;

        double asine = Math.asin(Angle);

        System.out.println("Arcsine of " + Angle + " = " + asine);

    }

}
4

1 に答える 1

8

あなたの変数名は意味がありません。「高さ」は長さであり、長さを 2 で割っても「角度」にはなりません。さらに、「角度」をasinに渡すのではなく、-1 から +1 までの数値を渡すと、角度が返されます。

あなたの場合、はしごの高さを取り、それをその長さで割ってあなたの罪(-1と+1の間)を求め、その値のアシンを取りたいと思うでしょう。

によって返された角度asinをラジアンで取得し、度に変換することもできます。

次のようなコードがあるかもしれません:

double lengthOfLadder = 2.0;
double height = scanner.nextDouble();
double sine = height / lengthOfLadder;
double angleInRadians = Math.asin(sine);
double angleInDegrees = angleInRadians / Math.PI * 180;
于 2013-10-25T18:20:36.900 に答える