BigInteger用法 & String转化方法

题目描述

已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k.

输入描述:

若干个非负整数c,c的位数<=30
每行一个c

输出描述:

每一个c的结果占一行
1) 若存在满足 c%k == 0 的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。
2) 若没有这样的k则输出"none"

注意整数溢出问题
不要对-1进行计算

import java.util.*;
import java.math.*;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		while(in.hasNext())
		{
			String str=in.next();
			BigInteger big=new BigInteger(str);
			BigInteger num=new BigInteger("0"); 
			StringBuffer sum=new StringBuffer("");
			int count=0;
			for(int i=2;i<=9;i++)
			{
				BigInteger k=new BigInteger(String.valueOf(i));
				if(big.mod(k).equals(num))
				{
					count++;
					sum.append(k).append(" ");
				}
				
			}
			
			if(count==0)
			{
				System.out.println("none");
			}
			else
			{
				System.out.println(sum.toString().trim());
			}
		}
		
	}
	
	
}

求和:
BigInteger add(BigInteger val) 返回两个大整数的和
求差:
BigInteger subtract(BigInteger val) 返回两个大整数的差
求积:
BigInteger multiply(BigInteger val) 返回两个大整数的积
求商:
BigInteger divide(BigInteger val) 返回两个大整数的商
求模:
BigInteger mod(BigInteger val) 用当前大整数对val求模
求乘方:
BigInteger pow(int exponent) 返回当前大整数的exponent次方
求余:
BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数
类型转换:
double doubleValue() 返回大整数的double类型的值
float floatValue() 返回大整数的float类型的值
long longValue() 返回大整数的long型值
int intValue() 返回大整数的整型值
其它:
BigInteger abs() 返回大整数的绝对值
BigInteger gcd(BigInteger val) 返回大整数的最大公约数
BigInteger max(BigInteger val) 返回两个大整数的最大者
BigInteger min(BigInteger val) 返回两个大整数的最小者
byte[] toByteArray(BigInteger val)将大整数转换成二进制反码保存在byte数组中


String转换方法:
①(String):强行转换易出错

②.toString():(1)基本上都能用,但是int型不行(内部没有封装)

                           (2)当参数为空的时候会有空指针异常

③String.valueOf():最稳的操作!

顺带一提,
题目中要求“最后一个数据后没有空格”
trim():清除掉字符串首末的空格

以便于控制输出格式

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 将BigInteger换为字符串可以使用BigInteger类的toString()方法。例如: BigInteger bigInteger = new BigInteger("123456789"); String str = bigInteger.toString(); 这将把bigInteger换为字符串类型的str。 ### 回答2: BigInteger是一个在Java中表示大整数的类。要将BigInteger换为String,可以使用BigInteger类的toString()方法。 例如,假设有一个BigInteger对象bigInt,要将它换为String,可以使用以下代码: ```java BigInteger bigInt = new BigInteger("12345678901234567890"); String str = bigInt.toString(); ``` 这将返回一个表示bigInt值的字符串。在这个例子中,str将被赋值为"12345678901234567890"。 可以在需要对大整数进行操作时使用BigInteger类。将其换为字符串通常用于打印、保存或向其他方法传递大整数。同样,如果需要将字符串换回BigInteger,可以使用BigInteger类的valueOf()方法。 ```java String str = "1234567890"; BigInteger bigInt = BigInteger.valueOf(Long.parseLong(str)); ``` 这将返回一个BigInteger对象,其值等于字符串"1234567890"所表示的整数。 总而言之,要将BigInteger换为字符串,可以使用BigInteger类的toString()方法。要将字符串换回BigInteger,可以使用BigInteger类的valueOf()方法。 ### 回答3: Biginteger转化String可以通过调用Biginteger的toString()方法来实现。toString()方法会返回一个表示该Biginteger数值的字符串。 下面是一个示例代码: ```java import java.math.BigInteger; public class Main { public static void main(String[] args) { BigInteger bigInteger = new BigInteger("12345678901234567890"); String str = bigInteger.toString(); System.out.println("Biginteger转化String: " + str); } } ``` 以上代码中,我们创建了一个BigInteger对象,然后通过toString()方法将其转化String类型的字符串。最后输出了转化后的字符串。 执行以上代码,会输出如下结果: ``` Biginteger转化String: 12345678901234567890 ``` 这样,我们就成功将Biginteger转化String类型了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值