Ⅰ java里如何正确计算检验和
importjava.security.MessageDigest;
publicclassMD5HashingExample
{
publicstaticvoidmain(String[]args)throwsException
{
Stringpassword="123456";
MessageDigestmd=MessageDigest.getInstance("MD5");
md.update(password.getBytes("UTF-8"));//orGBK
bytebyteData[]=md.digest();
//
StringBuffersb=newStringBuffer();
for(inti=0;i<byteData.length;i++){
sb.append(Integer.toString((byteData[i]&0xff)+0x100,16).substring(1));
}
System.out.println("Digest(inhexformat)::"+sb.toString());
//
StringBufferhexString=newStringBuffer();
for(inti=0;i<byteData.length;i++){
Stringhex=Integer.toHexString(0xff&byteData[i]);
if(hex.length()==1)hexString.append('0');
hexString.append(hex);
}
System.out.println("Digest(inhexformat)::"+hexString.toString());
}
}
Ⅱ java 获取int类型数据长度的方法
两种方法,一种是楼上的,把int转换成String然后取长度,另一种就是自己写方法判断数据的大小 例如<10就是一位数等等。个人建议用第一种方法,简单而且效率相对高
Ⅲ 在java中如何输入e^x(x为变量)还有如何输入e(e为自然对数的底数)
1.java中的a^b a的b次方, 可以使用Math.pow(a,b) 实现'
2. java中的常数e, 也可以通过Math.E 获得
3. 完整代码参考
publicclassTestMath{
publicstaticvoidmain(String[]args){
intx=5;//次方数
doublee=Math.E;//自然常数e的近似值
doubled=Math.pow(e,x);//e^x
System.out.println("e^"+x+"="+d);//输出结果
}
}
4.拓展延伸. 通过上面的例子可以看到Math类的用途比较广泛.需要系统的学习
java.lang.Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
Math的字段
Math.E: 比任何其他值都更接近 e(即自然对数的底数)的 double 值。
Math.PI: 比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。
Math的常用方法
abs(double d) 求绝对值
sina(double a) 返回角的三角正弦。(还有一系列的三角函数计算)
sqrt(double d) 返回正确舍入的 double 值的正平方根。
ceil(double a) 返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
floor(double a)返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
log(double a) 返回 double 值的自然对数(底数是 e)。