Java常用字符串反转的五种方案
Java程序中如何一个字符串进行反转?或者在字符串中指定部分进行反转的方法有哪些?为帮助大家解决这个疑问,本站小编为同学们分享最新Java常用字符串反转的五种方案,快来看看吧!
Java常用字符串反转的5种方案,代码如下:
第一个类是运行类
package everse;
import ner;
public class Run {
public Run() {
t("请输入一个字符串:");
Scanner sc = new Scanner();
String str = ();
tln();
String reversedStrByArray = new Reverse(str)rseByArray();
tln("对应反转字符串为[Array]:"+ reversedStrByArray);
String reversedStrByStack = new Reverse(str)rseByStack();
tln("对应反转字符串为[Stack]:"+ reversedStrByStack);
String reversedStrBySort = new Reverse(str)rseBySort();
tln("对应反转字符串为[逆序遍历]:"+ reversedStrBySort);
String reversedStrByBit = new Reverse(str)rseByBit();
tln("对应反转字符串为[位运算]:"+ reversedStrByBit);
String reversedStrByRecursive = new Reverse(str)rseByRecursive(str);
tln("对应反转字符串为[递归]:"+ reversedStrByRecursive); }
public static void main(String[] args) {
new Run();
}
}
第二段代码是实现类
package everse;
import k;
public class Reverse {
String str = new String();
public Reverse(String str) {
= str;
}
//用数组实现
public String reverseByArray() {
if(str == null th() == 0) {
return str;
}
int len = th();
char[] chArray = arArray();
for(int i= 0; i< len/2; i++) {
char temp;
temp = chArray[i];
chArray[i] = chArray[len- 1- i];
chArray[len- 1- i] = temp;
}
return new String(chArray);
}
//用栈实现
public String reverseByStack() {
if(str == null th() == 0) {
return str;
}
Stack strStack = new Stack();
char[] chArray = arArray();
for(Character ch: chArray) {
(ch);
}
int len = th();
for(int i= 0; i< len; i++) { chArray[i] = ();
}
return new String(chArray);
}
//用逆序遍历实现
public String reverseBySort() {
if(str == null th() == 0) {
return str;
}
StringBuilder sb = new StringBuilder();
for(int i= th()- 1; i>= 0; i--) {
nd(At(i));
}
return ring();
}
//用位运算实现
public String reverseByBit() {
if(str == null th() == 0) {
return str;
}
char[] chArray = arArray();
int len = th();
for(int i= 0; i< len/ 2; i++) {
chArray[i]^= chArray[len- 1- i];
chArray[len- 1- i]^= chArray[i];
chArray[i]^= chArray[len- 1- i];
}
return new String(chArray);
}
//用递归实现
public String reverseByRecursive(String str) {
if(str == null th() == 0) {
return str;
}
int len = th();
if(len == 1) {
return str;
} else {
return reverseByRecursive(tring(1))+ At(0);
}
}
}
-
计算机二级MS OFFICE考试试题2016
2016年9月计算机二级等级考试6月正在报名中,下面本站小编先为大家分享最新二级MSOFFICE考试试题及答案解析如下:1、汉字的区位码由一汉字的区号和位号组成。其区号和位号的范围各为______。A、区号1-95位号1-95B、区号1-94位号1-94C、区号0-94位号0-94D、区号0-9...
-
2016年计算机等级考试试题「三级、四级」
计算机等级考试是全国性的,你准备参加了吗?本文为大家分享的三四级的计算机考试试题,希望对同学们复习有所帮助!三级网络技术1在现实中,一般我们一般将计算机分类为A)服务器、工作站、台式机、笔记本、掌上电脑B)大型机、小型机、个人计算机、工作站、巨型计算机C...
-
2016年计算机等级考试二级笔试试卷「完整」
一、选择题((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)在计算机中,一个字长的二进制位数是A)8B)16C)32D)随CPU的型号而定(...
-
2017年计算机二级MSOffice上机操作题及答案
2017年NCRE继续实施2013年版考试大纲(部分科目有修订),大纲和教材详情可查询本网站大纲教材栏目。下面是小编收集的计算机二级MSOffice上机操作题及答案,希望可以帮助大家!一、字处理题请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操...