Math类给我们提供了很多现成的方法来方便我们的使用,如:
double max(参数1,参数2)(参数包括double,float,int,long等多种数据类型);
double min(参数1 ,参数2)(参数包括double,float,int,long等多种类型,返回值参数类型相同);
double round(float a or double a)(四舍五入取整);
double sqrt(double a),取a的开方的值;
double exp(double a),求参数幂项,e的a次幂;
double abs(参数),参数包括double,float,int,long等多种数据类型,取参数的绝对值;
double pow(double x, double y),求x的y次方;
double log(double a),以e为底;
double log10(double a)以10为底;
生成0到1前闭后开的随机小数,double random(),适当变换后可得任意区间上的随机整数;
另外还有sin(),cos(),tan(),asin(),acos(),atan()等求三角函数与反三角 函数的值;
还提供了常用的常量:Math.E(e的近似值)和Math.PI(π的近似值);
这里以使用最为复杂的random方法举例实现随机输出26个UpperCase英文单词
package main;
public class Main {
public static String getrand(String strr){
int len = strr.length();
char []source = strr.toCharArray();
char []result = new char[len];
int count;
int rand_pos;
for(int i=0;i<26;i++){
count=0;
rand_pos = (int)(Math.random()*(len-i)+1);
for(int j=0;j<26;j++){
if(source[j]!=' '){
count++;
}
if(count==rand_pos){
result[i]=source[j];
source[j]=' ';
break;
}
}
}
return new String(result);
}
public static void main(String []args){
char []c = new char[30];
for(int i=0;i<26;i++){
c[i]=(char)('A'+i);
}
String str = new String(c);
String result = getrand(str);
System.out.println(result);
}
}