这是代码:
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”,它仍然有效,它只是在那个位置。有任何想法吗?