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);
}
}
}
-
2017年java考试模拟试题大纲
Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。下面是小编整理的关于java考试模拟试题,希望大家认真阅读!1、编写程序,计算下列分段函数的值。x?(x>=0)y=-x?(x<0)import.*;publicclasstesta{p...
-
Java高级工程师试题
Sun认证Java程序员考试内容涉及Java所有相关知识、编程概念及applet开发技巧。下面是关于Java高级工程师试题,希望大家认真做题!一、Java基础1.String类为什么是final的。2.HashMap的源码,实现原理,底层结构。3.说说你知道的几个Java集合类:list、set、queue、map...
-
Java远程通讯可选技术及原理
一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果...
-
java程序员必备八大开发工具
现在有很多库、实用工具和程序任Java开发人员选择。每个工具都有其优点,但其中有一些因它的知名度、多功能性和有效性从众多选项中脱颖而出。以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域。学习这些工具可以帮助你改善代码质量,成为一个更高效的Java开...