方法如下:

1、暴力解法

使用for循环直接逐个求解,算法复杂度为O ( n ) O(n)O(n)

/**

*

暴力解法

* @param startInclusive

* @param endExclusive

* @return

*/

public int sumByDirect(int startInclusive, int endExclusive){

int sum = 0;

for (int i = startInclusive; i < endExclusive; i++) {

sum += i;

}

return sum;

}

2、流式编程

同暴力解法一样,不过使用了声明式的流式编程,代码量更少并且更加的具有可读性

/**

*

流式编程

* @param startInclusive

* @param endExclusive

* @return

*/

public int sumByStream(int startInclusive, int endExclusive){

return IntStream.range(startInclusive, endExclusive).sum();

}

3、利用求和公式

利用等差数列求和公式

复杂度为O ( 1 ) O(1)O(1)

/**

*

利用求和公式

* @param startInclusive

* @param endExclusive

* @return

*/

public int sumByFormula(int startInclusive, int endExclusive){

return ((startInclusive + endExclusive - 1) * (endExclusive - startInclusive) ) >> 1;

}

测试:

@Test

public void Test() {

System.out.println("sumByDirect=" + sumByDirect(1, 101));

System.out.println("sumByStream=" + sumByStream(1, 101));

System.out.println("sumByFormula=" + sumByFormula(1, 101));

}

输出结果:

sumByDirect=5050

sumByStream=5050

sumByFormula=5050

java 100以内的整数和_java计算100以内的正整数和的三种方法相关推荐

  1. java中doc文件转为pdf文件_java将doc文件转换为pdf文件的三种方法

    标签: http://feifei.im/archives/93 ---------------------------------------------- 项目要用到doc转pdf的功能,一番go ...

  2. java在文件的后面添加_java 在file的尾部添加数据的两种方法总结

    java 在file的尾部添加数据的两种方法总结 问题描述: 在文件的末尾追加内容 方法1:利用RandomAccessFile类 1.将randomAccessFile模式设置为rw 2将rando ...

  3. java除法保留两位小数_JAVA除法保留小数点后两位的两种方法

    1.利用Math.round()的方法: 两个int型的数相除,结果保留小数点后两位: int a=1188; int b=93; double c; c=(double)(Math.round(a* ...

  4. java字符转为数字_Java 判断字符串能否转化为数字的三种方法

    linux shell 常用指令 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止 ...

  5. java快速寻找一个数组的最大值或最小值, min, max,三种方法

    java 中 寻找一个数组中的最大值或最小,除了自己专门编写一个 min 或 max 函数外,还有几种方式方便使用. 1. 使用 stream 将一个数组放进 stream 里面,然后直接调用 str ...

  6. java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java

    一.每次把新遍历的链表值放到list索引为0的位置,实现逆序. public class Solution { public ArrayList printListFromTailToHead(Lis ...

  7. Java黑皮书课后题第7章:**7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数。假定输入0表示结束

    7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数 题目 题目描述+运行示例 破题 法一 法二 代码 法一:硬生生解出来 法二完整代码 题目 题目描述+运行示例 ...

  8. 算法训练 加法运算(你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示)

    问题描述 你的表妹正在学习整数的加法,请编写一个程序来帮助她学习.该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来.要求: ...

  9. php100以内质数求和,100以内的质数_PHP质数计算三种方法 php求100以内的质数

    摘要 腾兴网为您分享:PHP质数计算三种方法 php求100以内的质数,自动刷宝,长沙银行,猿辅导,愈加等软件知识,以及cf一键刷枪,业主名录采集软件,卡乐光电,魔方虚拟光驱,掌上徐州,卡农社区,fa ...

最新文章

  1. 华平助广东海事局构建水上搜救应急指挥系统
  2. web FG interview all
  3. 大数据:数据大合集,你想要的这里或许会有
  4. 【Audio音频兴趣拓展】如何调试频响曲线?
  5. pyspider 爬取淘宝食品
  6. 什么是客户端与服务器端
  7. 深度学习第二次培训(BP神经网络)
  8. 表格的下拉放大 ----------王朋
  9. javaScript打气球小游戏
  10. 【记录】用Python webdriver图书馆抢座自动预约的正确姿势
  11. 基于Java实现的几何图形处理系统
  12. 基于Scrapy框架爬取豆瓣《复联4》影评,并生成词云
  13. 计算机软考网络工程师 查询,软考网络工程师怎么查询报名是否成功?
  14. Handler 简介
  15. python大赛对名_用100行Python爬虫代码抓取公开的足球数据玩(一)
  16. 如何让win10超时自动锁定屏幕?
  17. 微信小程序云开发支付
  18. [益智]:三个火枪手
  19. 微信小程序引入阿里巴巴图标库(不下载)
  20. JavaWeb『Vue.js』快速入门

热门文章

  1. mattermost server的启动流程
  2. 计算机主板包括哪四种版型,硬件百科:版型不同的主板有什么区别?
  3. mysql数据库实验实训5,数据查询yggl数据库查询(详细)
  4. 在线考试系统网站 毕业设计毕设源码毕业论文开题报告参考(1)功能概要
  5. 【Java 环境搭建】(三)Git
  6. 机器学习之四:支持向量机——SMO算法
  7. C# webBrowser 自动登录淘宝 模拟点击输入 模拟点击无ID 无name的html元素按钮
  8. Android Studio 设置代理
  9. 【阿冈评点】超女、我秀、好男和梦想的12项大PK(下)
  10. Android常用的蓝牙,GPS,网络等状态检测方法汇总