java中start与loop_java for-loop问题

我正在制作一个Java程序来计算Simpson的积分规则.这是我的代码.注意count == 4,9,10,11的输出值中的第二列数字.它们不是我需要的数字,它们不遵循这种模式.我需要这些数字是准确的.发生了什么,我该如何解决?

public static void main(String[] args)

{

double totalS = 0.0;

int count = 0;

for(double i=0; i< 4; i += 0.4 )

{

count++;

totalS += Sfunction(i, count);

System.out.println(count + " " + i + " " + totalS);

}

}

public static double Sfunction(double f1, int count)

{

double value;

if (f1 == 0.0 || f1 == 4.0)

value = Math.cos(Math.sqrt(f1));

else if ((count % 2) == 1)

value = 2 * Math.cos(Math.sqrt(f1));

else

value = 4 * Math.cos(Math.sqrt(f1));

return value;

}

我得到的输出:

1 0.0 1.0

2 0.4 4.226313639540303

3 0.8 5.478244888601832

4 1.2000000000000002 7.30884788480188

5 1.6 7.911122809972827

6 2.0 8.534897589034324

7 2.4 8.578100205110182

8 2.8 8.168723348285942

9 3.1999999999999997 7.736055200662704

10 3.5999999999999996 6.452869366954546

11 3.9999999999999996 5.620575693860261

解决方法:

每次绕过循环,你都会在0.4到i的不精确加法中混合错误.

相反,使用循环计数器的整数值,并对其进行缩放以获得更好的近似值:

for ( int count = 0; count < 10; ++count ) {

final double i = 0.4 * count;

System.out.println ( ( count + 1 ) + " " + i );

}

这不会消除浮点错误,但这意味着它不会在每次迭代时增加.要从输出中删除错误,请将输出格式化为合理的小数位数:

for ( int count = 0; count < 10; ++count ) {

final double i = 0.4 * count;

System.out.printf ( "%2d %.1f\n", ( count + 1 ), i );

}

标签:java,for-loop

来源: https://codeday.me/bug/20190711/1437549.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java查询数据库的方式_Java连接各种数据库方式速查表

1、Oracle8/8i/9i数据库(thin模式)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();String url"jdbc:oracle:thin:localhost:1521:orcl"; //orcl为数据库的SIDString user"test";String password"test";Connection c…

java多线程编程—高级主题_Java day20 高级编程【第一章】Java多线程编程

【第一章】Java多线程编程一.进程与线程多个时间段会有多个程序依次执行&#xff0c;但是同一时间点只有一个进程执行线程是在进程基础之上划分的更小的程序单元 &#xff0c;线程是在进程基础上创建并且使用的&#xff0c;所以线程依赖于进程的支持&#xff0c;但是来讲&#…

java object数组转实体类_详解Java中String JSONObject JSONArray List实体类转换

JSON使用阿里的fastJson为依赖包gradle依赖管理如下&#xff1a;compile group: "com.alibaba", name: "fastjson", version:"1.2.41"1、String转JSONObject前言&#xff1a;String 是JSONObject格式的字符串eg:JSONObject jSONObject JSONObje…

mysql中不要 秒的函数_Mysql中日期和时间函数应用不用求人 | 很文博客

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。这里是一个使用日期函数的例子。下面的查询选择了所有记录&#xff0c;其date_col的值是在最后30天以内&#xff1a;mysql> SELECT something FROM tableWHERE TO_DAYS(NOW()) - …

java实现log4j_log4j在java中实现

public class AccLogBase {/**致命错误. */public static final int LOG_LEVEL_FATAL 1;/** 错误. */public static final int LOG_LEVEL_ERROR 2;/** 警告. */public static final int LOG_LEVEL_WARN 3;/**信息. */public static final int LOG_LEVEL_INFO 4;/** debug. …

e x泰勒 java_maven project

最近没事了玩一下maven&#xff0c;使用maven管理工程中的依赖包非常的方便。建立maven web工程的时候开始不知道怎么用tomcat来调试&#xff0c;总是使用mave的tomcat插件发布了后来调试&#xff0c;觉得非常的麻烦&#xff0c;网上找了点材料&#xff0c;看看maven web工程不…

java定义说话方法_类定义的基本形式_Java语言程

类定义的基本形式_Java语言程4&#xff0e;2&#xff0e;1 类定义的基本形式前面一节我们已经了解了类和对象的概念&#xff0c;然而在实际编程过程中&#xff0c;该如何定义一个类以及类中的对象呢&#xff1f;在Java语言中&#xff0c;用户自己可以定义一个类&#xff0c;作…

displayprime java_java - “没有X11 DISPLAY变量” - 这是什么意思?

我正在尝试在我的Linux机器(Slackware)上安装Java应用程序。我收到了以下错误&#xff0c;我不明白。你能告诉我如何处理这个问题吗&#xff1f; 谢谢。这是我得到的:(我看到需要设置一些X11 DISPLAY变量&#xff0c;但我应该给它什么值以及如何&#xff1f;)~$ java -jar gate…

java 判断顺序_通过指令码来判断Java代码的执行顺序(++问题与return和finally的问题)...

问题在《深入理解Java虚拟机》一书中遇到了如下代码&#xff1a;public int method() {int i;try {i 1;return i;} catch (Exception e) {i 2;return i;} finally {i 3;}}由于曾经搜了一下return和finally的问题后&#xff0c;只是简单的看到了finally会执行&#xff0c;从而…

java 怎么从性能上优化代码_月薪上万做好这一步:程序员职场中必须掌握的的Java代码性能优化技巧...

尽量指定类、方法的final修饰符Java编译器会寻找机会内联所有的final方法&#xff0c;内联对于提升Java运行效率作用重大&#xff0c;具体参见Java运行期优化。此举大概能够使性能平均提高50%。尽量重用对象特别是String对象的使用&#xff0c;出现字符串连接时应该使用StringB…

java创建线程几种_java中创建线程有几种方式

详细内容线程的创建方式1、继承Thread类实现多线程2、覆写Runnable()接口实现多线程&#xff0c;而后同样覆写run()。推荐此方式3、使用Callable和Future创建线程相关视频教程推荐&#xff1a;java学习视频实例如下&#xff1a;1、继承Thread类实现多线程/** 继承Thread类创建线…

php编译支持mysql,编译php支持curl和pdo_mysql

安装curl1. curl 是 php 标准库,所以可以在原來的 phpX.X.X.tar.gz 中找到。2. 進入 php 目录中的 ext 找到 curl3. 在 curl 目录中执行 phpize #此命令用于生成configure文件(如果没有此软件上网下载安装一个)4. 然后他生成的文件进行 ./configure–with-php-config/usr/local…

php自定义中文分词方法,php实现的中文分词类完整实例

本文实例讲述了php实现的中文分词类。分享给大家供大家参考&#xff0c;具体如下&#xff1a;该中文分词类源码使用http://tools.ddpool.cn/code/jb51_php_format进行了格式化处理&#xff0c;便于阅读。具体代码如下&#xff1a;class Segmentation {var $options array(lowe…

php打开rs232,php_ser_5.2.0-5.2.17

php_ser_5.2.0-5.2.17所属分类&#xff1a;WEB开发开发工具&#xff1a;PHP文件大小&#xff1a;169KB下载次数&#xff1a;62上传日期&#xff1a;2011-09-23 11:30:16上 传 者&#xff1a;随寻说明&#xff1a; php实现RS232串口通信下载php_ser_5.2.0.zip解冻把php_ser放到…

使用php,使用 PHP

使用 PHP推荐查看本文HTML版本本节汇集了你在写 PHP 脚本时可能碰到的大多数普通错误。1. 我想写一个可以处理任何表单来的数据的通用 PHP 脚本。我怎么知道哪个 POST 方法变量可用呢&#xff1f;2. 我需要在所有的单引号()前加一个反斜线(\)&#xff0c;使它们变成(\)&#xf…

手机电脑自适应导航源码php,自适应各终端懒人网址导航源码 v2.0

自适应各终端懒人网址导航源码。V2.0版本是在原1.8版本的基础上修复和增加了些功能。推荐直接使用新版本&#xff0c;舍弃旧版本&#xff0c;后期会继续不定期更新。测试环境&#xff1a;宝塔Nginx -Tengine2.2.3的php5.5mysql先导入数据库文件db/db.sql再修改config.php数据库…

php如何生成本地文档,php如何生成word文件

php生成word文件的方法&#xff1a;需求&#xff1a;甲方爸爸说“我有一个word文件&#xff0c;里面是关于用户信息的表格&#xff0c;你帮我把系统里面所有用户数据都按照这个文件导出来给我“&#xff1b;我当时就不乐意了&#xff0c;啪的一拍桌子站起来&#xff0c;愤愤的回…

php 写一个大富翁游戏,C++大富翁代码 现在要设计一个类似“大富翁”的游戏:有一条由20个格子组成的 联合开发网 - pudn.com...

C大富翁代码所属分类&#xff1a;Windows编程开发工具&#xff1a;C/C文件大小&#xff1a;349KB下载次数&#xff1a;6上传日期&#xff1a;2018-05-15 21:11:38上 传 者&#xff1a;红黑二叉树说明&#xff1a; 现在要设计一个类似“大富翁”的游戏&#xff1a;有一条由20个…

yii 引用php文件,Yii中引出php文件及插件

Yii中引入php文件及插件作者&#xff1a;zccst一、设置环境变量(在PHP)echo get_include_path(); //获取当前所有环境变量。即该项目中那些代码已被引用。set_include_path(.. PATH_SEPARATOR . Yii::app()->basePath./lib/PHPExcel . PATH_SEPARATOR . get_include_p…

形态学图像分割matlab算法,图像分割和形态学处理与MATLAB实现

《图像分割和形态学处理与MATLAB实现》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《图像分割和形态学处理与MATLAB实现(13页珍藏版)》请在人人文库网上搜索。1、实验 图像分割和形态学处理一、实验目的1、 掌握图像分割的基本方法。2、 掌握形态学处理的基本方法。…