Java in ACM/ICPC

发表于:2014-10-14 11:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:bigjava    来源:51Testing软件测试网采编

分享:
  替换字符串:
  String s=“2009-07-26”;
  System.out.println( s.replace(‘-’,’//’) ); //输出2009/07/26
  String s=“0.123456”;
  System.out.println( s.replaceAll(“^0”,””) ); //输出.123456
  String中的字符不能改变,如果需要改变可以使用StringBuffer
  其他注意的事项
  Java数组是对象,定义后必须初始化,如 int[] a = new int[100]; 数组长度由length成员得到,如System.out.println(a.length);
  Arrays类提供的一些有用方法:
  Arrays.fill()
  Arrays.sort()
  Arrays.binarySearch()
  布尔类型为 boolean,只有true和false二值,在 if (...) / while (...) 等语句的条件中必须为boolean类 型。
  在C/C++中的 if (n % 2) ... 在Java中无法编译通过。
  Java也提供了类似STL的集合类:
  Vector,ArrayList,Map,Queue,Stack,Hashtable
  3.Java与高精度计算
  PKU1001-exponentiation(求幂):
Sample Input
95.123 12
0.4321 20
5.1234 15
6.7592 9
98.999 10
1.0100 12
Sample Output
548815620517731830194541.899025343415715973535967221869852721
. 00000005148554641076956121994511276767154838481760200726351203835
429763013462401
43992025569.928573701266488041146654993318703707511666295476720493
953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
  用C/C++解决的方法
  C/C++的pow函数无法达到需要的精度
  C/C++用数组来模拟乘法运算提高精度
  java代码:
import java.math.*;
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
BigDecimal val=in.nextBigDecimal();
int n=in.nextInt();
BigDecimal ret=val.pow(n).stripTrailingZeros();
System.out.println( ret.toPlainString().replaceAll("^0", "") );
}
}
}
  BigDecimal类
  高精度的有符号十进制数字
  构造一个高精度数字
BigDecimal (int val)
BigDecimal (double val)
BigDecimal (String val)
BigDecimal d1=new BigDecimal(1);
BigDecimal d2=new BigDecimal(0.1);
BigDecimal d3=new BigDecimal("0.1");
System.out.println("d1="+d1);
System.out.println("d2="+d2);
System.out.println("d3="+d3);
BigDecimal类常用方法:
BigDecimal add(BigDecimal augend)        //  “+”
BigDecimal subtract(BigDecimal subtrahend)    //  “-”
BigDecimal multiply(BigDecimal multiplicand)    //  “*”
BigDecimal divide(BigDecimal divisor)        //  “/”
BigDecimal remainder(BigDecimal divisor)    //  “%”
BigDecimal pow(int n)                //“求幂”
String toPlainString()    //返回不带指数的字符串表示
String toString()        //返回带指数的字符串表示
  PKU高精度计算题目:
  1131、1205、1220、1405、1503、1604 1894、2084、2305、2325、2389、2413 3101、3199
33/3<123
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号