java翻转字符串
㈠ java 里使用reverse()方法来把字符串反转,为什么Java提示没有定义方法reverse
这个方法不是jdk自带的,需要自己写,参考如下:
public String reverseSting(String inputString) {
char[] inputStringArray = inputString.toCharArray();
String reverseString = "";
for (int i = inputStringArray.length - 1; i >= 0; i--) {
reverseString += inputStringArray[i];
}
return reverseString;
}
㈡ java 实现字符串反转,要求时间和空间复杂度最优
不知为何你有这种想法,如果有好的算法可以和我讨论下,下面我写了2个代码希望能帮到你。
package app;
public class TransDemo {
//abcdef“反转后为“fedcba
public static void main(String[] args){
String str = "abcdef";
char[] ary = str.toCharArray();
for(int i = 0; i< str.length()/2; i++){
int temp = ary[ary.length-i-1]-ary[i];
ary[i] += temp;
ary[ary.length-i-1] -=temp;
}
str = new String(ary);
System.out.println(str);
}
}
package app;
public class TransDemo {
//abcdef“反转后为“fedcba
public static void main(String[] args){
String str = "abcdef";
char[] ary = str.toCharArray();
for(int i = 0; i< str.length()/2; i++){
char c = ary[i];
ary[i] = ary[str.length()-1-i];
ary[str.length()-1-i] = c;
}
str = new String(ary);
System.out.println(str);
}
}
㈢ Java如何使用堆栈来反转字符串
Stack<String> s=new Stack<String>();
String a="abcdefg";
for(int i=0;i<a.length();i++){
char c=a.charAt(i);
s.push(""+c);
}
String b="";
while(true){
String t=s.pop();
b=b+t;
if(s.isEmpty())break;
}
System.out.println("a=["+a+"],b=["+b+"]");
㈣ java如何实现字符串的反转及替换
反转:
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入:");
String s1 = input.nextLine();//得到输入的字符串
System.out.print("翻转后:");
for(int i=s1.length()-1;i>=0;i--){
System.out.print(s1.charAt(i));
}
}
}
或者
import java.util.*;
public class StringChange{
public static void main(String[] args){
System.out.println("Please enter the String:");
String str = new Scanner(System.in).nextLine(); //输入字符串
String s2[] = str.split("\\s"); // \s 以空格为分隔符拆分字符串,并保存到数组s2里面
for (int i = s2.length-1; i >= 0; i--) { //反向输出数组
System.out.print(s2[i]+" ");
}
}
}
㈤ java反转字符串
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入:");
String s1 = input.nextLine();//得到输入的字符串
System.out.print("翻转后:");
for(int i=s1.length()-1;i>=0;i--){
System.out.print(s1.charAt(i));
}
}
}
㈥ java程序关于字符串倒置
String类型对象的内容是不可以修改的,所以JAVA提供StringBuffer提供对字符串的修改操作。其成员方法reverse()提供对字符串的倒置功能。所以一般先将String类转化为StringBuffer类在做处理。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String inStr=scanner.nextLine();//标准输入字符串
StringBuffer reStr=new StringBuffer(inStr);//将String类型转化为StringBuffer类型
reStr.reverse();//StringBuffer类的成员方法reverse可以倒置字符串
inStr=reStr.toString();//转化为String类型
System.out.println("倒置后字符串为:"+inStr);
}
}
㈦ java反转字符串
import java.util.*;
public class StringChange{
public static void main(String[] args){
System.out.println("Please enter the String:");
String str = new Scanner(System.in).nextLine(); //输入字符串
String s2[] = str.split("\\s"); // \s 以空格为分隔符拆分字符串,并保存到数组s2里面
for (int i = s2.length-1; i >= 0; i--) { //反向输出数组
System.out.print(s2[i]+" ");
}
}
}
输入aaaa bbb cccc ddd
输出ddd cccc bbb aaaa
㈧ java 我string了一个s,然后把s的字符串反转,用reverse方法
第一个问题:String没有reverse方法,你可以 转成StringBuffer后调用
第二个问题:s不会变成StringBuffer,因为s没有参与转换。
String s="abcd"; //定义一个String类型
StringBuffer sb =new StringBuffer(s);//转成StringBuffer将s添加进去
System.out.println(sb.reverse().toString());//输出转换后的sb,并转换成String类型
㈨ Java中reverse()的用法
1、reverse函数反转string
int main() {
string N;
cin>>N;
reverse(N.begin(), N.end());
cout<<N<<endl;
}
2、reverse函数反转字符数组
int main() {
char a[101];
cin.getline(a,sizeof(a));
int m=strlen(a);
reverse(a,a+m);
puts(a);
}
(9)java翻转字符串扩展阅读
语法Reverse ( string )
参数string:要颠倒字符次序的字符串返回值String。函数执行成功时返回颠倒字符次序后的字符串,如果发生错误,那么返回空字符串("")。用法Reverse()函数将一个字符串中最后一个字符放置到另一个字符串的第一个字符位置、倒数第二个字符放置在另一个字符串的第二个字符位置,以此类推。
㈩ java中不借助任何现有类库实现对字符串的反转方法
一楼已经写出了核心代码;二楼功能实现了,但用的是类库已经写好的方法。
我再来详细补充下吧:
import java.util.Scanner;
public class ReverseDemo {
/**
* @description 字符串的反转
*/
public void reverse(){
System.out.println("请输入字符串:");
Scanner in=new Scanner(System.in);
String str=in.nextLine();//把从键盘接受的字符串存入str
char[] ch=str.toCharArray();//把每个字符分别存入char数组
for(int i=ch.length-1;i>=0;i--){//一楼已经写出来的代码
System.out.print(ch[i]);
}
}
public static void main(String[] args) {
new ReverseDemo().reverse();
}
}
呵呵,不明白楼主的意思是从头到尾都不要用到类库的相关方法,还是只不要用到类库中提供的reverse( )就可以了。楼下的意思是,不要用到类库的任何方法。那编起程来的确是很蛋痛的,呵呵。我只是理解为不用类库提供的反转方法就可以了,不管这么多。再写了一个方法,也大同小异,还是用到了类库的方法charAt( )。
import java.util.Scanner;
public class ReverseDemo {
/**
* @description 字符串的反转
*/
public void reverse(){
System.out.println("请输入字符串:");
Scanner in=new Scanner(System.in);
String str=in.nextLine();
char[] ch=new char[str.length()];
for(int i=0;i<str.length();i++){
ch[i]=str.charAt(i);
}
for(int i=ch.length-1;i>=0;i--){
System.out.print(ch[i]);
}
}
public static void main(String[] args) {
new ReverseDemo().reverse();
}
}