鍍金池/ 教程/ Java/ Guava IntMath類
Guava原語(yǔ)工具
Guava集合工具
Guava Chars類
Guava Shorts類
Guava CharMatcher類
Guava BigIntegerMath類
Guava Range類
Guava Bimap接口
Guava緩存工具
Guava Longs類
Guava Multiset接口
Guava Table接口
Guava Optional類
Guava LongMath類
Guava Spiltter類
Guava Preconditions類
Guava數(shù)學(xué)工具
Guava Ints類
Guava Ordering類
Guava Throwables類
Guava字符串工具
Guava Objects類
Guava Booleans類
Guava教程
Guava Bytes類
Guava CaseFormat類
Guava環(huán)境設(shè)置
Guava Doubles類
Guava Joiner類
Guava Multimap類
Guava Floats類
Guava IntMath類

Guava IntMath類

IntMath提供整型的實(shí)用方法。

類聲明

以下是com.google.common.math.IntMath類的聲明:

@GwtCompatible(emulated=true)
public final class IntMath
   extends Object

方法

S.N. 方法及說(shuō)明
1 static int binomial(int n, int k)
返回n個(gè)選擇K,也被稱為n和k,或Integer.MAX_VALUE的二項(xiàng)式系數(shù),如果結(jié)果在一個(gè)int不適合
2 static int checkedAdd(int a, int b)
返回a和b的總和,只要它不會(huì)溢出。
3 static int checkedMultiply(int a, int b)
返回a和b的產(chǎn)物,只要它不會(huì)溢出。
4 static int checkedPow(int b, int k)
返回b的第k冪,只要它不會(huì)溢出。
5 static int checkedSubtract(int a, int b)
返回a和b的差,只要它不會(huì)溢出。
6 static int divide(int p, int q, RoundingMode mode)
返回除以p由q,使用指定RoundingMode的四舍五入結(jié)果。
7 static int factorial(int n)
返回n個(gè)!,也就是說(shuō),前n個(gè)正整數(shù)的乘積,如果n==0則返回1,或者是Integer.MAX_VALUE如果結(jié)果不適合在一個(gè)int值。
8 static int gcd(int a, int b)
返回a, b的最大公約數(shù)。
9 static boolean isPowerOfTwo(int x)
返回true,如果x代表兩個(gè)冪。
10 static int log10(int x, RoundingMode mode)
返回基數(shù)為10的對(duì)數(shù)x,根據(jù)指定的舍入模式圓形。
11 static int log2(int x, RoundingMode mode)
返回基數(shù)為2-對(duì)數(shù)x,根據(jù)指定的舍入模式圓形。
12 static int mean(int x, int y)
返回x和y的算術(shù)平均值,取整。
13 static int mod(int x, int m)
返回x模m,一個(gè)非負(fù)的值小于m以下。
14 static int pow(int b, int k)
返回b的第k冪。
15 static int sqrt(int x, RoundingMode mode)
返回x的平方根,大概指定的舍入模式。

方法繼承

這個(gè)類從以下類繼承的方法:

  • java.lang.Object

IntMath 例子

選擇使用任何編輯器創(chuàng)建以下java程序在 C:/> Guava

GuavaTester.java
import java.math.RoundingMode;
import com.google.common.math.IntMath;

public class GuavaTester {

   public static void main(String args[]){
      GuavaTester tester = new GuavaTester();
      tester.testIntMath();
   }

   private void testIntMath(){
      try{
         System.out.println(IntMath.checkedAdd(Integer.MAX_VALUE, Integer.MAX_VALUE));
      }catch(ArithmeticException e){
         System.out.println("Error: " + e.getMessage());
      }

      System.out.println(IntMath.divide(100, 5, RoundingMode.UNNECESSARY));
      try{
         //exception will be thrown as 100 is not completely divisible by 3 thus rounding
         // is required, and RoundingMode is set as UNNESSARY
         System.out.println(IntMath.divide(100, 3, RoundingMode.UNNECESSARY));
      }catch(ArithmeticException e){
         System.out.println("Error: " + e.getMessage());
      }

      System.out.println("Log2(2): "+IntMath.log2(2, RoundingMode.HALF_EVEN));

      System.out.println("Log10(10): "+IntMath.log10(10, RoundingMode.HALF_EVEN));

      System.out.println("sqrt(100): "+IntMath.sqrt(IntMath.pow(10,2), RoundingMode.HALF_EVEN));

      System.out.println("gcd(100,50): "+IntMath.gcd(100,50上一篇:Guava Shorts類下一篇:Guava Ordering類