求助!如何用java编写一个程序,使得将输入的一串字符逆序输出?
具体要求是,运行的时候要在键盘上输入一组字符,要求不能用改变数组元素顺序的办法。是不是要用递归或者是用reverse呢?本人水平不太高,求高手指教。编写一个语句不太复杂的...
具体要求是,运行的时候要在键盘上输入一组字符,要求不能用改变数组元素顺序的办法。是不是要用递归或者是用reverse呢?本人水平不太高,求高手指教。编写一个语句不太复杂的程序!谢谢了!!
展开
3个回答
展开全部
不用递归吧,循环或者reverse都可以,reverse最高效了
import java.util.Scanner;
public class Du {
public static void main(String[] args) {
System.out.println("Please input some string content: ");
Scanner scanner = new Scanner(System.in);
String content = scanner.nextLine().trim();
///***** reverse way /////
String reversedStr = new StringBuffer(content).reverse().toString();
System.out.println("Reversed string is: " + reversedStr);
//***** cycle way /////
System.out.println("\n Reversed by cicyle: ");
for(int i = content.length() - 1; i >= 0; i--){
System.out.print(content.charAt(i));
}
}
}
---------------
Please input some string content:
welcome to china, 12342345abcdefg
Reversed string is: gfedcba54324321 ,anihc ot emoclew
Reversed by cicyle:
gfedcba54324321 ,anihc ot emoclew
import java.util.Scanner;
public class Du {
public static void main(String[] args) {
System.out.println("Please input some string content: ");
Scanner scanner = new Scanner(System.in);
String content = scanner.nextLine().trim();
///***** reverse way /////
String reversedStr = new StringBuffer(content).reverse().toString();
System.out.println("Reversed string is: " + reversedStr);
//***** cycle way /////
System.out.println("\n Reversed by cicyle: ");
for(int i = content.length() - 1; i >= 0; i--){
System.out.print(content.charAt(i));
}
}
}
---------------
Please input some string content:
welcome to china, 12342345abcdefg
Reversed string is: gfedcba54324321 ,anihc ot emoclew
Reversed by cicyle:
gfedcba54324321 ,anihc ot emoclew
追问
你好!你的答案很好!可是如果我输入两位数的话,比如输入12 34 56我想要输出的是56 34 12.
追答
import java.util.Scanner;
public class Du {
public static void main(String[] args) {
System.out.println("Please input some string content: ");
Scanner scanner = new Scanner(System.in);
String[] content = scanner.nextLine().trim().split("\\s+");
for (int i = content.length - 1; i >= 0; i--) {
System.out.print(content[i] + " ");
}
}
}
-------------
Please input some string content:
12 34 56
56 34 12
展开全部
你这样想,逆序,就是从后往前输出,所以啊,你应该将每个字符分割,存放到一个字符数组中,使用循环从后往前输出就好了!具体的实现就是上楼的代码!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String s=123;
for(int i=s.length-1;i>0;i--){
System.out.println(s.charAt(i))
}
for(int i=s.length-1;i>0;i--){
System.out.println(s.charAt(i))
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询