ACM中Java使用总结
Java在ACM中的主要應(yīng)用是大數(shù)類【個人見解】。做個小總結(jié),留作模板用。
類名默認為Main。
輸入:
聲明一個輸入對象cin;Scanner cin=new Scanner(System.in);
輸入一個int值:Int a=cin.nextInt();
輸入一個大數(shù):BigDecimal a=cin.nextBigDecimal();
EOF結(jié)束:while(cin.hasNext()){。。。}
輸出:
輸出str【任意類型】:System.out.println(str);【有換行】System.out.print(str);【無換行】
System.out.println(”str“);【輸出字符串str】
賦值:BigInteger a=new BigInteger(String.valueOf(12));
大數(shù)類特殊函數(shù):
判斷相等:c.compareTo(BigDecimal.ZERO)==0【c等于】
判斷大于:c.compareTo(BigDecimal.ZERO)>0? 【c大于0】
判斷小于:c.compareTo(BigDecimal.ZERO)<0? 【c小于0】
修改格式:c.stripTrailingZeros().toPlainString();【c去除末尾0,并轉(zhuǎn)換乘字符串】
字符串函數(shù):
str.startWith("0").【以0開始】str.endWith("0")【以0結(jié)束】
str.subString(int x,int y)【從x到y(tǒng)的str的子串】str.subString(int x))【從x到結(jié)尾的str的子串】
BigInteger的函數(shù):
構(gòu)造:public BigInteger(String str)【把string類型數(shù)據(jù)轉(zhuǎn)變?yōu)榇笳麛?shù)】
構(gòu)造:public BigInteger pow(BigDecimal b)【b次方】
加:public BigInteger add(BigInteger b)【加上b】
減:public BigInteger subtract(BigInteger b)【減去b】
乘:public BigInteger? multiply(BigInteger b)【乘b】
除:public BigInteger divided(BigInteger b)【除b】
最大值:public BigInteger max(BigInteger a)【返回最大值】
最小值:public BigInteger min(BigInteger a)【返回最小值】
除:public BigInteger [] dividedandRemainder(BigInteger b)【除b,數(shù)組第一位是商,第二位是余數(shù)】
BigDecimal的函數(shù):
構(gòu)造:public BigDecimal(String str)【把string類型數(shù)據(jù)轉(zhuǎn)變?yōu)楦呔葦?shù)】
??????????? public BigDecimal(int str)【把int 類型數(shù)據(jù)轉(zhuǎn)變?yōu)榇笳麛?shù)】
?????????? public BigDecimal(double str)【把double類型數(shù)據(jù)轉(zhuǎn)變?yōu)榇笳麛?shù)】
次方:public BigDecimal pow (BigDecimal b)【b次方】
加:public BigDecimal add(BigDecimal b)【加上b】
減:public BigDecimal subtract(BigDecimal b)【減去b】
乘:public BigDecimal multiply(BigDecimal b)【乘b】
除:public BigInteger divided(BigInteger b)【除b】
舉例:
A+B。輸出最簡結(jié)果
import java.math.BigDecimal;//引入高精度數(shù)的包 import java.util.*;//輸入輸出所在的包【幾乎所有的代碼都必須加的包】 public class Main {public static void main(String []args){Scanner cin=new Scanner(System.in);BigDecimal a,b,c;while(cin.hasNext()){a=cin.nextBigDecimal();b=cin.nextBigDecimal();c=a.add(b);if(c.compareTo(BigDecimal.ZERO)==0) {System.out.println("0"); continue;}String str=c.stripTrailingZeros().toPlainString(); if(str.endsWith(".")) str=str.substring(0,str.length()-1);System.out.println(str);}} }
?A的階乘:
import java.util.*; import java.math.*; public class Main {public static void main(String args[]){int m,i;Scanner in = new Scanner(System.in);m=in.nextInt();BigInteger sum = new BigInteger(String.valueOf(m));for(i=m-1;i>0;i--){BigInteger x =new BigInteger(String.valueOf(i));sum=sum.multiply(x);}System.out.println(sum);} }
總結(jié)
以上是生活随笔為你收集整理的ACM中Java使用总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7系统 普通管理员被删除,超级管理
- 下一篇: win7(windows 7)系统下安装