02-方法-课后思考
一、System.out.print();使用
Java里面的System.out.print();里面有很多可以输出的类型,用户只需要在括号内输入想要输出的东西,系统会自动匹配相对应的类型,然后输出。
二、程序中输出的50!结果错误的问题
由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。
三、随机数产生
设计思想
(1)用户输入要产生的随机数的个数
(2)产生随机数
(3)判断产生的随机数与以前的的随机数是否相同
(4)相同则返回继续随机数,不相同就输出
流程图
代码
import java.util.Scanner;
public class Random {
public static void main(String args[]){
System.out.println("输入要产生的随机数的数目:");
Scanner reader=new Scanner(System.in);
int sum=reader.nextInt();
int []result1=randomCommon(0,2000,sum);
for(int i:result1){
System.out.print(" "+i);
}
}
public static int[] randomCommon(int min,int max,int n){
int []result=new int[n];
int count=0;
while(count<n){
int num=(int) (Math.random()*(max-min)+min);
boolean flag=true;
for(int j=0;j<n;j++){
if(num==result[j]){
flag=false;
break;
}
}
if(flag){
result[count]=num;
count++;
}
}
return result;
}
}
获得随机数
for (int i=0;i<30;i++)
{System.out.println((int)(1+Math.random()*10));}
(int)(1+Math.random()*10)
通过java.Math包的random方法得到1-10的int随机数
公式是:最小值---最大值(整数)的随机数
(类型)最小值+Math.random()*最大值