日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java string做除法_如果用java来实现传统方式的除法,用String来保存结果,想精确多少位都行,那改怎么做?...

發布時間:2025/3/11 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java string做除法_如果用java来实现传统方式的除法,用String来保存结果,想精确多少位都行,那改怎么做?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我會加分的,提個思路都行,目前做了個乘法和加法,但是現在對除法沒有什么思路。以下是我編寫的功能:publicclassCalculator{publicstaticStringmulti(Strings1,Strings2){if(s1==nu...

我會加分的,提個思路都行,目前做了個乘法和加法,但是現在對除法沒有什么思路。以下是我編寫的功能:

public class Calculator {

public static String multi(String s1,String s2){

if(s1 == null || s2 == null){

return "0";

}

char c1[] = s1.toCharArray();

char c2[] = s2.toCharArray();

for(int i=0;i

if(i==0){

if(c1[i] !='-' && c1[i] != '+' && !(c1[i]>='0' && c1[i]<='9')){

throw new RuntimeException("你要計算的數字不合法!");

}

}else{

if(!(c1[i]>='0' && c1[i]<='9')){

throw new RuntimeException("你要計算的數字不合法!");

}

}

}

for(int i=0;i

if(i==0){

if(c2[i] !='-' && c2[i] != '+' && !(c2[i]>='0' && c2[i]<='9')){

throw new RuntimeException("你要計算的數字不合法!");

}

}else{

if(!(c2[i]>='0' && c2[i]<='9')){

throw new RuntimeException("你要計算的數字不合法!");

}

}

}

String sign1 = "";

String sign2 = "";

if(s1.charAt(0)>='0' && s1.charAt(0)<='9'){

sign1="+";

}else{

sign1 = s1.substring(0,1);

s1 = s1.substring(1);

}

if(s2.charAt(0)>='0' && s2.charAt(0)<='9'){

sign2 = "+";

}else{

sign2 = s2.substring(0,1);

s2 = s2.substring(1);

}

StringBuffer buffer = new StringBuffer();

Long[][] number = new Long[s2.length()][s1.length()+s2.length()];

for(int i=0;i

int t = Integer.parseInt(s2.substring(s2.length()-(i+1),s2.length()-i));

int temp = 0;

int count = 0;

for(int j=number[i].length-1;j>=0;j--){

if(count

int cols = Integer.parseInt(s1.substring(s1.length()-(count+1),s1.length()-count));

number[i][j-i] = new Long( ((cols*t)%10)+temp);

temp = cols*t/10;

}else if(temp !=0){

number[i][j-i] = new Long(temp);

temp = 0;

}

count++;

}

}

int temp = 0;

for(int i=(s1.length()+s2.length())-1;i>=0;i--){

int t = 0;

for(int j=0;j

if(number[j][i] != null){

t+=number[j][i];

}

}

buffer.append(""+(t%10+temp));

temp = t/10;

}

buffer = buffer.reverse();

String result = buffer.toString();

while(result.charAt(0) == '0' && result.length() !=1){

result = result.substring(1);

}

if(!sign1.equals(sign2)){

result = "-"+result;

}

return result;

}

public static String add(String s1,String s2){

//因為字數超過限制,所以沒有上傳

return "還沒有實現!";

}

public static void main(String[] args){

System.out.println(Calculator.add("-755334311424342","-9222012"));

BigInteger big1 = new BigInteger("-755334311424342");

BigInteger big2 = new BigInteger("-9222012");

System.out.println(big1.add(big2)); System.out.println(Calculator.multi("-23423403504534534563","23222222222222222222222222222222222"));

}

}

-----------result-------------

-755334320646354

-755334320646354

-543943470131721017861316196131010101010101010101010101019518951801921211121215658986

展開

總結

以上是生活随笔為你收集整理的java string做除法_如果用java来实现传统方式的除法,用String来保存结果,想精确多少位都行,那改怎么做?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。