java中的大数类实现大数相减

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:06:48
要求从键盘输入任意一串字符串,如123456123
首先降序:564332211
然后升序:112233456
相减得:452098755
要求:可以多次输入,并且每次输入都有一次输出:)
谢谢!
一定要用大数类,BigInteger!!!!!!java里子带了这个类.先谢谢大家的回答了:)

//用BigInteger

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Arrays;

public class MenuNumber {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
while(true){
System.out.println("请输入正整数进行相关运算,输入over结束");
String str= br.readLine();
if(str.toLowerCase().equals("over")){
System.out.println("=程序结束=");
break;
}
char[] c=str.toCharArray();//从小到大排序
Arrays.sort(c);//排序
String str_1="",str_2="";
for(int i=0;i<c.length;i++){
str_1+=c[i];//从小到大排序的数字
str_2+=c[c.length-1-i];//从大到小排序的数字
}
try{
//将字符串格式化为数字
BigInteger l1=new BigInteger(str_1);
BigInteger l2=new