您的位置:首页 > 其它

反转字符序列的三种方法

2017-10-10 18:57 162 查看
在编写代码的过程中,我们经常需要将一些数字序列或字符序列进行反转,例如将10进制转换成其他进制时需要倒取余数,这时便需要将字符串反转。下面我们介绍三种实现序列反转的方法。

方法一:将单个序列元素依次插入到空字符串前面,示例代码如下:

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个十进制整数:");
int num = sc.nextInt();
int tmpnum = num;
String str = "";
int remainder = 0;
while(num > 0){
remainder = num % 2;
num /= 2;
//每次将remainder插入到str前面
str = remainder + str;
}
System.out.println(tmpnum + "转换成二进制为:" + str);
}方法二:采用StringBuffer类的append方法和reverse方法,示例代码如下:
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个十进制整数:");
int num = sc.nextInt();
int tmpnum = num;
StringBuffer str = new StringBuffer();
int remainder = 0;
while(num > 0){
remainder = num % 8;
num /= 8;
str.append(remainder);
}
str.reverse();
System.out.println(tmpnum + "转换成八进制为:" + str);
}方法三:采用StringBuffer类的insert方法,示例代码如下:

import java.util.Scanner;
/**
* 输入整数转16进制,顺便测试StringBuffer的insert方法
*/
public class Test03{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
int tmpnum = num;
int remainder = 0;
StringBuffer str = new StringBuffer();
while(num > 0){
remainder = num % 16;
switch(remainder){
case 15:
str.insert(0,"F");break;
case 14:
str.insert(0,"E");break;
case 13:
str.insert(0,"D");break;
case 12:
str.insert(0,"C");break;
case 11:
str.insert(0,"B");break;
case 10:
str.insert(0,"A");break;
default:
str.insert(0,remainder);
}
num /= 16;
}
System.out.println(tmpnum + "转换成十六进制为:" + str);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: