java编程

2025-12-18 03:12:39
推荐回答(4个)
回答1:

字符串翻转问题在开发中经常遇到,这里通过一个实现类来做个小结。当然,这也可能在Java Script中用到,那只有用JS的语法来实现,道理是一样的。

public class StringReverse {

/**
* 字符串翻转
*
* @param args
*/
public static void main(String[] args) {
System.out.println("=====递归方法=====");
System.out.println(method1("abcd"));
System.out.println(method1("abcde"));
System.out.println("=====递归方法=====");
System.out.println(method2("abcd"));
System.out.println(method2("abcde"));
System.out.println("=====带行间翻转=====");
System.out.println(method3("abc\ndef\nghi\njkl"));
}

/*
* 非递归方法
*/
public static String method1(String str) {
char c[] = str.toCharArray();
char t;
for (int i = 0; i < (str.length() + 1) / 2; i++) {
t = c[i];
c[i] = c[c.length - i - 1];
c[c.length - i - 1] = t;
}
String str2 = new String(c);
return str2;
}

/*
* 递归方法
*/
public static String method2(String s) {
if (s.length() > 1)
return method2(s.substring(1)) + s.substring(0, 1);
else
return s;
}
/*
* 带行间的翻转
*/
public static String method3(String s) {
String[] s1 = s.split("\n");
String s2 = "";
for (int i = s1.length - 1; i >= 0; i--) {
s2 += method2(s1[i]);
if (i != 0) {
s2 += "\n";
}
}
return s2;
}
}

输出结果:

=====递归方法=====
dcba
edcba
=====递归方法=====
dcba
edcba
=====带行间翻转=====
lkj
ihg
fed
cba

回答2:

调用stringbuilder.reverse方法,高效节省内存。

import java.util.Scanner;

public class Reverse {
public static void main(String args[]) throws Exception {
System.out.print("Please input some words: ");
Scanner scanner = new Scanner(System.in);

String str = scanner.nextLine();

StringBuilder sb = new StringBuilder(str);
String reversedStr = sb.reverse().toString();

System.out.println("Reversed string is: " + reversedStr);

}

}
-------------------
Please input some words: I am a student
Reversed string is: tneduts a ma I

回答3:

public class HelloWorld {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = "I am a student";
char[] str2 = str1.toCharArray();
for(int i = str2.length-1; i >= 0; i-- ){
System.out.print(str2[i]);
}
}

}

回答4:

作业。。。忽悠老师还是忽悠自己?