学习Java之Math和Random类
Posted So istes immer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Java之Math和Random类相关的知识,希望对你有一定的参考价值。
Math类提供了Math.PI和Math.E两个静态数学常量:E和PI
Math类的主要方法
例子:
int a=Math.abs(124);
int b=Math.floor(-5.2);
double s=Math.sqrt(7);
小例子
import java.util.Random;
class RandInt {
private Random r = null;
public RandInt() {
r = new Random();
}
public int getint() {
return r.nextInt();
}
}
class RandDouble {
private Random r = null;
public RandDouble() {
r = new Random();
}
public double getDouble() {
return r.nextDouble();
}
}
public class ep5_17 {
public static void main(String[] s) {
RandInt rInt = new RandInt();
System.out.println("产生3个随机生成的整型数字");
for (int i = 0; i < 3; i++) {
System.out.println(rInt.getint() + "");
}
RandDouble rDouble = new RandDouble();
System.out.println("产生3个随机生成的Double类型数字");
for (int i = 0; i < 3; i++) {
System.out.println(rDouble.getDouble() + "");
}
}
}
练习
1.在11 22 33 22 33 44 22中,重复的数字有几个?
RepeatNum.java
一种方法
import java.util.Scanner;
public class RepeatNum {
public static void main(String[] args) {
int num[]=new int[7],i,j,k,count=0;
Scanner s=new Scanner(System.in);
System.out.print("请输入一组数:");
for(i=0;i<num.length;i++) { //读入数据
num[i]=s.nextInt(); //11 22 33 22 33 44 22
}
for(i=0;i<num.length;i++) { //遍历数组
for(k=0;k<i;k++) {
if(num[i]==num[k]) { //如果本数字与前面有重复
i++; //跳过本数字
break;
}
}
for(j=i+1;j<num.length;j++) { //寻找是否有与本数字重复的
if(num[i]==num[j]) {
count++;
break;
}
}
}
System.out.println("重复的数字有"+count+"个");
}
}
另一种方法
import java.util.Arrays;
import java.util.Scanner;
public class RepeatNum {
public static void main(String[] args) {
int num[]=new int[7],count=0;
int time[]=new int[100];
Arrays.fill(time,0); //数组元素初始化为0
Scanner s=new Scanner(System.in);
System.out.print("请输入一组数:");
for(int i=0;i<num.length;i++) { //读入数据
num[i]=s.nextInt(); //11 22 33 22 33 44 22
time[num[i]]++;
}
for(int j=0;j<time.length;j++) {
if(time[j]>1) {
count++;
}
}
System.out.println("重复的数字有"+count+"个");
}
}
2.随机生成0-9这10个数字,每次生成,数字排列顺序都不一样
RuanJianPan.java
public class RuanJianPan {
public static void main(String[]argv) {
int a[]=new int[10];
for(int i=0;i<a.length;i++) {
a[i]=(int)(Math.random()*10);
for(int j=0;j<i;j++) {
if(a[i]==a[j]) {
i--; //随机生成了重复的就重新生成
}
}
}
for(int num:a)
System.out.print(num+" ");
System.out.println();
}
}
以上是关于学习Java之Math和Random类的主要内容,如果未能解决你的问题,请参考以下文章