0

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

double r = Double.parseDouble(radius.getText().toString());
                double del = Double.parseDouble(delta.getText().toString());


                double dm = ((int)((del - ((int)del)) * 100));

                double rads = (((int)del) + (dm / 60) + (((((del - ((int)del)) * 100) - ((int)((del - ((int)del)) * 100))) * 100) / 3600)) * (Math.PI / 180);

                String t = String.valueOf(r * (Math.tan(rads / 2)));
                String c = String.valueOf(2* r* (Math.sin((rads/2))));
                String m = String.valueOf(r*(1- Math.cos((rads/2))));
                String a = String.valueOf(2*Math.PI*r*((((int)del) + (dm / 60) + (((((del - ((int)del)) * 100) - ((int)((del - ((int)del)) * 100))) * 100) / 3600))/360));

                tangent.setText(t);
                arc.setText(a);
                chord.setText(c);
                mid.setText(m);

私の目的は、プログラムで使用している変数の数を減らして、プログラムを少しきれいにすることです。私が投稿した方法で座っているので、式は機能します。ダブル「rads」の「dm」を現在の値「((int)((del - ((int)del)) * 100))」に置き換えると、数式が機能しなくなります。「/60」と関係があります。さまざまなブラケットの状況を試しましたが、うまくいかないようです。式の他の部分で「dm」を置き換えましたが、その1つの場所だけですべて機能します。何か案は?

4

2 に答える 2