Java常用字符串反转的五种方案大纲
java程序中如何一个字符串进行反转?或者在字符串中指定部分进行反转的方法有哪些?为帮助大家解决这个疑问,yjbys小编为同学们分享最新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);
}
}
}
-
计算机二级java笔试试题及答案
计算机二级考试《JAVA》习题1[单选题]哪个布局管理器使用的是组件的最佳尺寸?()LayoutLayoutLayout参考答案:A2[单选题]Frame的默认的布局管理器是下列哪一个?()LayoutLayoutLayout参考答案:B3[单选题]下列哪个用户图形界面组件在软件安装程序中是常见的?()A.滑...
-
Java基础知识点归纳
对于刚刚接触Java的人,java基础知识技术点繁多,那么yjbys小编为大家汇总最全java知识点如下,仅供大家参考学习!1.JVM相关(包括了各个版本的特性)对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3...
-
JAVA认证基础知识:近似算法(格雷厄姆算法)简介
之前做了很多贪心算法,他们都能找到最优解,这也是之所以用贪心算法的原因。贪心算法较之其他,最大的优势体现在时间复杂度低,空间复杂度也比较低。对于试用贪心算法的题型,有两个重要特征:贪心策略与最优子结构。贪心策略即每步采取策略的依据;最优子结构则是指问题...
-
Java获取当前的系统时间的方法
在java中,我们可以利用程序获取当前的'系统时间,那么你知道该怎么获取吗?下面跟yjbys小编一起来学习一下吧!一、获取当前系统时间和日期并格式化输出:import;importleDateFormat;publicclassNowString{publicstaticvoidmain(String[]args){SimpleDateFormatdf=ne...