Java的学习与java大数运算
生活随笔
收集整理的這篇文章主要介紹了
Java的学习与java大数运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前就學過一點java,但太久沒用知識點早就還給書本,之前在實驗室搞到一本java的書,今天來重新溫習一下
java的語法大部分和c++語言是一樣的,入門非???#xff0c;所以在這里基礎語句的用法就省略了
輸出:
string:
str.IndexOf()//返回搜索的字符或字符串首次出現的位置 str.lastIndexOf()//返回搜索的字符或字符串最后一次的位置 charAt()//可將指定索引處的字符返回 trim()//返回字符串的副本,忽略前導空格和尾部空格 startsWith()//判斷當前字符串對象的前綴是否為參數指定的字符串 endWith()//判斷當前字符串是否為以給定的子字符串結束 toLowerCase()//把所有字符從大寫字母改成小寫字母 toUpperCase()//把所有字符從小寫字母改成大寫字母java大數運算
在java中有個BigInteger類型,支持任意精度的整數,也就是說在運算中BigInteger類型可以準確地表示任何大小的整數值而不會丟失任何數據
public BigInteger add(BigInteger val)//做加法運算 public BigInteger subtract(BigInteger val)//做減法運算 public BigInteger multiply(BigInteger val)//做乘法運算 public BigInteger divide(BigInteger val)//做除法運算 public BigInteger remainder(BigInteger val)//做取余運算 public BigInteger negate(BigInteger val)//取相反數BIgDecimal加入了小數的概念,支持任何精度的定點數,可以用它來精確計算貨幣值
public BigDecimal add(BigDecimal augend):做加法操作 subtract()做減法操作 multiply()做乘法操作 divide()做除法操作大數階乘:
import java.math.BigDecimal; import java.util.Scanner;public class Main{ public static BigDecimal factorial(BigDecimal n){ BigDecimal bd1 = new BigDecimal(1);//BigDecimal類型的1 BigDecimal bd2 = new BigDecimal(2);//BigDecimal類型的2 BigDecimal result = bd1;//結果集,初值取1 while(n.compareTo(bd1) > 0){//參數大于1,進入循環 result = result.multiply(n.multiply(n.subtract(bd1)));//實現result*(n*(n-1)) n = n.subtract(bd2);//n-2后繼續 } return result; }public static void main(String[] args){System.out.println("請輸入階乘數:");Scanner sc = new Scanner(System.in); BigDecimal n = sc.nextBigDecimal(); sc.close();System.out.print(n + "!=" + factorial(n));} } /* 大數的加減運算不同于普通整數的加減乘除運算 加—— a+b: a=a.add(b); 減—— a-b: a=a.subtract(b); 乘—— a*b: a=a.multiply(b); 除—— a/b: a=a.divide(b); 求余—a%b: a=a.mod(b); 轉換—a=b: b=BigInteger.valueOf(a); 比較 if (ans.compareTo(x) == 0)//比較System.out.println("相等"); System.out.println("a + b = "+ans_add); // 這里的‘+’ (第二個) 是連接的意思 */ package wkf; import java.util.*; import java.math.*; public class Main {public static void main(String args[]) {Scanner cin = new Scanner(System.in);BigInteger a,b,x,y;BigInteger ans_add,ans_sub,ans_mul,ans_div,ans_mod;a=cin.nextBigInteger();b=cin.nextBigInteger();ans_add = a.add(b); //a+bans_sub = a.subtract(b); //a-bans_mul = a.multiply(b); //a*bans_div = a.divide(b); //a/bans_mod = a.mod(b); //a%bx=BigInteger.valueOf(1);//轉換System.out.println("a + b = "+ans_add);System.out.println("a - b = "+ans_sub);System.out.println("a * b = "+ans_mul);System.out.println("a / b = "+ans_div);System.out.println("a % b = " + ans_mod);System.out.println(x);if (a.compareTo(b) == 0)//比較System.out.println("相等");elseSystem.out.println("不相等");} }大數加法:
import java.math.BigInteger; import java.util.*; import java.io.*;public class Main {public static void main(String args[]){Scanner in = new Scanner(System.in);int n = in.nextInt(); for(int i = 1; i <= n; ++i){BigInteger a = in.nextBigInteger();BigInteger b = in.nextBigInteger();BigInteger ans = a.add(b);System.out.println("Case " + i + ":");System.out.println(a + " + " + b + " = " +ans);}} }之后繼續更新
總結
以上是生活随笔為你收集整理的Java的学习与java大数运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孕妇照自拍教程 自己拍孕照要注意什么
- 下一篇: Alexa 世界网站排名研究(下)(转)