动手动脑问题2
一.请看以下代码,你发现有什么特殊之处吗?
这段程序调用了两个函数,函数数据类型不同,属于函数重载的方法。
二。编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
import java.util.*;
public class Suijishu
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int a = (int)Math.pow(7,5);
int m = (int)Math.pow(2, 31) - 1;
int c = 0;
System.out.print("请输入要产生随机数的个数:");
int n = in.nextInt();
for(int i = 0;i<n;i++)
{
Random x1 = new Random();
int x3 = x1.nextInt(10);
int x2 = (a* x3+c)%m;
System.out.println(x2);
}
}
}
结果截图:
三。为什么阶乘数会出现负数.
由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,所以会出现负数。
posted on 2017-10-14 01:05 面向bug的程序设计 阅读(103) 评论(0) 编辑 收藏 举报