动手动脑 (第二次)
动手动脑1:手动生成随机数x(n+1)=(a*x(n)+c)
采用了递归方法,生成随机数
代码:
package Work_two; import java.math.BigInteger; import java.util.Random; import java.util.Scanner; public class First_test { int a=16807,c=0,m=Integer.MAX_VALUE;//int的最大值2的31次方-1 int show(int n) { Random rand = new Random(); if(n==0) return rand.nextInt();//seed=x0 else return (a*show(n-1)+c)%m; } public static void main(String[] args) { First_test t=new First_test(); int x0=0; Scanner in=new Scanner(System.in); System.out.println("请输入生成指定的随机数数目"); x0=in.nextInt(); System.out.println("生成随机数如下:"); for(int i=0;i<x0;i++) { System.out.println(t.show(i)); } } }
动手动脑2:System.out.println()方法
发现了该方法可以有不同的参数,参数不同,调用方法不同,重载的识别不同的链接方式,还可以识别特殊的字符。当多个变量或变量和字符串相加时,变量和字符串一般就是互相拼接。但当某些变量为int类型时,可以看出int类型在前相加时是先进行加法运算的,后面则是默认转换成String类型。out是System提供的用于标准输出的流,在没有重定向的情况下,会直接打印到终端,而println这个方式实际上是PrintStrem类提供的功能。
重定向错误输出在JDK中有一段说明:通常此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标,按照惯例,此输出流用于显示错误信息,或者显示那些即使用户输出流(变量out的值)已经重定向到通常不连续监视的某一文件或其他目标后,也应该立刻引起用户注意的其他信息。