how2j.cn


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


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



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



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

步骤 1 :

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

edit
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 :

练习-数学方法

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

答案-数学方法

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

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 :

练习-质数

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

质数概念: 只能被1和自己整除的数
举例:
5只能被 1和5整除,所以是质数
8可以被2整除,所以不是质数
练习-质数
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

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公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2019-01-16 我这代码没优化 ,弄个到10万都要老久 不可行不可行
lanz



public static void main(String[] args) { int count=0; for(int i=2;i<=10000000;i++){ int ci=0; for(int k=1;k<=i;k++){ if(i%k==0 ){ ci++; } } if(ci==2){ System.out.println(i); count++; } } System.out.println("质数为"+count+"个");
	public static void main(String[] args) {
		int count=0;            
		
	for(int i=2;i<=10000000;i++){
		int ci=0;                
		for(int k=1;k<=i;k++){  
			if(i%k==0 ){		
				ci++;           
			}
		}
		if(ci==2){             
			System.out.println(i);
			count++;	           
		}
	}
		
	System.out.println("质数为"+count+"个");
		

							





回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-01-05 用的是欧拉筛法,毫秒出结果
testIt



欢迎指导
import java.util.Scanner;
class  Prime{

	public int getTotalNumber(int n ){
		int total = 0;
		int []a = new int [n+1];

		for(int i =0 ; i<n+1 ;i++){
			a[i] = 1;
		}
		for(int j =2 ; j<n+1 ; j++){
			if(a[j] ==1 ){
				for(int k = 1; k * j <= n ; k++){
					a[j*k] = 0;
				}
				total++;
			}
		}

		return total;
	}

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.print("Please input the number: ");
		int number = in.nextInt();
		long startTime = System.currentTimeMillis();
		Prime pr = new Prime();
		System.out.println(pr.getTotalNumber(number));
		long endTime = System.currentTimeMillis();
		System.out.println("Time : "+(endTime-startTime)+" ms");
	}
		
}

							





回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-12-13 数学方法!
2018-12-04 鹅鹅鹅
2018-11-29 这是目前想到最快运行的方法
2018-11-23 这个是我自己的代码,为什么结果是 总共有 664578 个质数 而不是664580
2018-11-10 交作业
2018-11-10 交作业
2018-11-09 看起来了解下其他人的想法是很有好处的
2018-10-31 交作业,嵌套for循环
2018-10-11 给个自己写的吧,八代低压i7十五秒不到出结果,664579
2018-10-10 总结:寻找质数
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群交流: 984886441
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图