how2j.cn


工具版本兼容问题
java.lang.Math提供了一些常用的数学运算方法,并且都是以静态方法的形式存在

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



3分54秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 四舍五入, 随机数,开方,次方,π,自然常数   
步骤 2 : 练习-数学方法   
步骤 3 : 答案-数学方法   
步骤 4 : 练习-质数   
步骤 5 : 答案-质数   

步骤 1 :

四舍五入, 随机数,开方,次方,π,自然常数

package digit; public class TestNumber { public static void main(String[] args) { float f1 = 5.4f; float f2 = 5.5f; //5.4四舍五入即5 System.out.println(Math.round(f1)); //5.5四舍五入即6 System.out.println(Math.round(f2)); //得到一个0-1之间的随机浮点数(取不到1) System.out.println(Math.random()); //得到一个0-10之间的随机整数 (取不到10) System.out.println((int)( Math.random()*10)); //开方 System.out.println(Math.sqrt(9)); //次方(2的4次方) System.out.println(Math.pow(2,4)); //π System.out.println(Math.PI); //自然常数 System.out.println(Math.E); } }
步骤 2 :

练习-数学方法

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
这个图是自然对数的计算方式。
借助Math的方法,把自然对数计算出来,看看经过自己计算的自然对数和Math.E的区别有多大
练习-数学方法
步骤 3 :

答案-数学方法

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

5分49秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


public class HelloWorld { public static void main(String[] args) { System.out.println(Math.E); int n = Integer.MAX_VALUE; System.out.println( Math.pow(1+1d/n,n)); } }
public class HelloWorld {
    public static void main(String[] args) {
    	System.out.println(Math.E);
    	int n = Integer.MAX_VALUE;
    	System.out.println(    	Math.pow(1+1d/n,n));	
    }
}
步骤 4 :

练习-质数

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
统计找出一千万以内,一共有多少质数

质数概念: 只能被1和自己整除的数
举例:
5只能被 1和5整除,所以是质数
8可以被2整除,所以不是质数
练习-质数
步骤 5 :

答案-质数

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

12分50秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


package digit; public class TestNumber { public static void main(String[] args) { int max = 10000*1000; int count = 0 ; for (int i = 1; i <=max; i++) { if(isPrime(i)){ count++; } } System.out.println("一千万以内的质数一共有 : " + count); } private static boolean isPrime(int i) { for (int j = 2; j <= Math.sqrt(i); j++) { if(0==i%j) return false; } return true; } }


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-10-11 给个自己写的吧,八代低压i7十五秒不到出结果,664579
罗克萨斯



应该还有简化空间
public class Anumber {
	public static void main(String[] args) {
		int total = 0; // 质数总数
		boolean b = true;

		for (int i = 2; i <= 10000000; i++) {
			String str = String.valueOf(i);
			String sub = str.substring(str.length() - 1);
			if (sub != "0" && sub != "2" && sub != "4" && sub != "5" && sub != "6" && sub != "8") {
				for (int j = 2; j <= (int) Math.sqrt(i); j++) {
					// 如果有除了1和本身以外的数能整除自己
					if (i % j == 0) {
						b = false;
						break;
					}
				}
			}
			if (b == false) {
				b = true;
				continue;
			}
			total += 1;
			System.out.print(i + ",");
			if (total % 10 == 0) {
				System.out.println();
			}
		}
		System.out.println("\n一千万以内的质数一共有:" + total + "个");
	}
}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-10-10 总结:寻找质数
熵y



思路:先定义一个布尔型方法,做一个嵌套循环,从1到这个数开始遍历,如果这个数除了被1和它本身外还能被其他数整除,说明这不是质数,返回FALSE。否则true. 从1到这个数开始遍历,用到上面的方面,每返回一次TURE就计数一遍,最后总计。
public class ZhiShu {
	
		public static boolean isprime(int i){
		for(int j=2;j<=Math.sqrt(i);j++){
			if(i%j==0){
				return false;
		}
		}return true;
}

		public static void main(String[] arg){
		int count=0;
		for(int i=1;i<10000000;i++)
		{			
			if(isprime(i)){
		    count++;
				}	
			
		}System.out.println("一共有"+count+"个质数");
		
}
		}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-09-18 毫秒解决
2018-08-30 按在地上摩擦~
2018-08-22 想问下大家运行了多久?
2018-08-22 想问下大家运行了多久?
2018-08-17 交作业
2018-07-27 交作业,老师这道题答案错了。
2018-06-16 超快求出一千万以内的质数
2018-06-16 超快求出一千万以内的质数
2018-06-15 1000w内质数的问题
2018-06-13 超详细作业
2018-06-13 超详细作业
2018-06-04 对数学一窍不通的路过 ε=(´ο`*)))唉
2018-05-09 质数
2018-05-04 质数问题的疑问
2018-04-16 dpo[fdsou ifd fkodsa lkf lkjdsaflkdsalkjhfg dsaljhf jdsa f
2018-03-04 质数练习
2018-02-03 关于E我用了另外一种E的计算公式,E=1+1/1+1/2!+1/3!+.........
2018-01-16 质数问题
2018-01-03 自然对数次方如果是double型最大值
2017-11-27 return问题
2017-11-17 1000*10000以内的质数
2017-11-12 答案多计算1次,1不是质数
2017-10-27 我无论怎么样计算的结果都是1.0
2017-10-26 提供我自己写的贼烂的写法.... 另:1不是质数,2和3是质数
2017-10-06 质数问题
2017-09-03 为什么一千万是用10000*1000表示
2017-08-15 代码把1也算进去了,1不是质数。
2017-08-06 埃氏筛法求素数
2017-07-23 自然对数e的算法
2017-07-20 1+1d/n中的d是什么意思
2017-07-13 作业
2016-09-17 答案多了1,求素数的程序把1也算进去了,1不是素数。
2016-09-07 (int j = 2; j <= Math.sqrt(i); j++)请问这个为什么j小于等于i的开方
2016-08-03 float为什么不可以
2016-07-19 不理解一些 字段。。
2016-06-04 哭瞎,isPrime怎么没列出来呀




提问之前请登陆
关于 JAVA 基础-数字与字符串-数学方法 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图