机试题 10进制2进制逆序数

80 篇文章 0 订阅
75 篇文章 0 订阅

第一次,不过

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		 String result = Integer.toBinaryString(n);
	//	 System.out.println(result);
		 String reverse = new StringBuffer(result).reverse().toString();
	//	 System.out.println(reverse);
		 int num=Integer.parseInt(reverse,2);
		 System.out.println(num);
	}

}

修改为biginteger后

import java.math.BigInteger;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		/*int n=sc.nextInt();
		 String result = Integer.toBinaryString(n);
		 System.out.println(result);
		 String reverse = new StringBuffer(result).reverse().toString();
		 System.out.println(reverse);
		 int num=Integer.parseInt(reverse,2);
		 System.out.println(num);*/
		 String input=sc.nextLine();
		 String str = new BigInteger(input, 10).toString(2);
		 String reverse = new StringBuffer(str).reverse().toString();
		// System.out.println(str);
		// System.out.println(reverse);
		 BigInteger bigInteger = new BigInteger(reverse, 2);
         System.out.println(bigInteger);
	}

}

Java 自带的函数还是很强大的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java的十进制逆序数是指将一个十进制的各个逆序排列后得到的新。例如,123的逆序数为321。 以下是一种实现Java十进制逆序数的方法: ```java public static int reverse(int n) { int result = 0; while (n > 0) { result = result * 10 + n % 10; n /= 10; } return result; } ``` 这个方法首先将result初始化为0,然后通过不断地将n的个位添加到result的末尾,来逐步构建出n的逆序数。具体来说,每次循环,先将result乘以10,然后将n对10取模得到个位,将其加到result的末尾,最后将n除以10向下取整,以去掉已经处理过的个位。当n变为0时,循环结束,result中存储的就是n的逆序数。 可以通过以下代码来测试该方法: ```java public static void main(String[] args) { int n = 123; int reversed = reverse(n); System.out.println(reversed); // 输出321 } ``` ### 回答2: Java的十进制逆序数是指将一个十进制的各位逆序排列后得到的新。 实现十进制逆序数的方法可以通过以下步骤: 1. 将给定的十进制转换为字符串类型,方便进行字符串的逆序操作。 2. 使用StringBuilder或StringBuffer等字符串处理类,将字符串逆序排列。 3. 将逆序后的字符串转换十进制类型。 以下是一个示例代码实现: ``` public class DecimalReverseNumber { public static int reverseNumber(int number) { String numberStr = String.valueOf(number); // 将整转换为字符串 StringBuilder reverseStr = new StringBuilder(numberStr).reverse(); // 将字符串逆序排列 String reverseNumberStr = reverseStr.toString(); // 将逆序后的字符串转换为普通字符串 int reverseNumber = Integer.parseInt(reverseNumberStr); // 将逆序后的字符串转换为整 return reverseNumber; } public static void main(String[] args) { int number = 12345; int reverseNumber = reverseNumber(number); System.out.println("原始:" + number); System.out.println("逆序数:" + reverseNumber); } } ``` 执行以上代码,将输出: 原始:12345 逆序数:54321 这就是Java中实现十进制逆序数一个简单示例。 ### 回答3: Java的十进制逆序数是指将一个十进制表示中的逆序排列后得到的新整。 实现这个功能可以按照以下步骤进行: 1. 将要逆序的整转化为字符串类型。 2. 使用StringBuilder类的reverse()方法将字符串逆序。 3. 调用StringBuilder类的toString()方法,将逆序后的字符串转换为整类型。 例如,对于整12345,将其转化为字符串类型为"12345",然后使用StringBuilder类的reverse()方法将其逆序得到字符串"54321",最后再将其转化为整类型得到54321。 下面是一个Java实现的示例代码: ``` public class ReverseDecimalNumber { public static void main(String[] args) { int number = 12345; String numberStr = String.valueOf(number); StringBuilder reversedNumberStr = new StringBuilder(numberStr).reverse(); int reversedNumber = Integer.parseInt(reversedNumberStr.toString()); System.out.println("原始值:" + number); System.out.println("逆序数值:" + reversedNumber); } } ``` 以上代码输出的结果为: ``` 原始值:12345 逆序数值:54321 ``` 这样就完成了整十进制逆序数的计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值