我正在尝试创建一个Java程序,该程序将使用以下公式计算余弦值:
程序的代码位于下面。我的程序似乎没有任何错误,但是无论我将x
和k
设置为什么值,我都会得到答案Infinity
,但我无法弄清楚做错了。
代码的工作方式是,控制台要求您输入x
的值,然后要求k
的值。然后的想法是让Java将方程式的结果(脚本中的方法cosine
与Math.cos()
函数进行比较。
方法cosine
分为两部分,cosinenumerator
和cosinedenominator
,然后彼此分开,最后变成cosineresult
。
cosinedenominator
的循环应该在方程式中模拟“阶乘”。
任何帮助将不胜感激。
import java.util.Scanner;
public class Cosine {
public static void main(String[] args) {
Scanner consolecosine = new Scanner(System.in);
System.out.println("Enter x value:");
double x = consolecosine.nextDouble();
System.out.println("Enter k value:");
int k = consolecosine.nextInt();
double cosineresult = cosine(x, k);
System.out.println("Using the Math.cos function yields: " + Math.cos(90));
System.out.println("Using the Taylor expansion equation yields: " + cosineresult);
}
public static double cosine(double x, int k) {
double cosineresult = 0;
double cosinenumerator = 0;
double cosinedenominator =0;
int i = 0;
int j = 0;
for(i = 0; i <= k; i++) {
cosinenumerator += Math.pow((-1),i) * Math.pow(x, (2*i));
}
for(j = 0; j <= (2*i); j++) {
cosinedenominator *= (2*j);
}
cosineresult = cosinenumerator / cosinedenominator;
return cosineresult;
}
}
答案 0 :(得分:0)
这是一个可行的版本(请注意,x以弧度表示;不是度数):
<tbody>
<tr ng-repeat="x in namss">
<td> {{x.sys_name}} </td>
<td ng-repeat="t in timess">
<?php
$sol_id='{{x.id}}';
$ddate='{{t.date}}';
$ttime='{{t.timee}}';
$atime = $ttime;
$adate = $ddate;
$asol = $sol_id;
include "db.php";
$query = mysql_query("SELECT * FROM render_sys WHERE sol_id='$sol_id' AND date='$ddate' AND (frm_time BETWEEN '$atime' AND '$atime%' OR frm_time ='$atime' OR frm_time BETWEEN '00:00%' AND '$atime%') AND action='on' ORDER by frm_time DESC");
$roww = mysql_fetch_array($query);
$count = mysql_num_rows($query);
$fftime = $roww['frm_time'];
$tetime = $roww['to_time'];
$description = $roww['description'];
?>
<button class="btn btn-default" ng-click="upda_dt(x.id, t.date, t.timee)" value="available" style="background:#C3D79A !important;" >
available <?php echo $description; ?>
</button>
</td>
<td ng-repeat="u in timese" style="background:#C3D79A; color:#000;">
<button class="btn btn-default" ng-click="updat_dt(x.id, u.date, u.timee)" value="available" style="background:#C3D79A; color:#000;">
available
</button>
</td>
</tr>
</tbody>
产生-1.0000000000000002,大约是正确的。
cosine(Math.PI, 15)