编写反转字符串的程序,要求优化速度,优化空间

littlev19 2006-03-23 11:35:03
如ABC->CBA
...全文
346 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
babala1893 2006-04-08
  • 打赏
  • 举报
回复
楼主说的非常正确,定义str1时应该定义成 StringBuffer str1=new StringBuffer();就ok了
f_acme 2006-04-08
  • 打赏
  • 举报
回复
StringBuffer str1=null;
str1=str1.append(str);
----str1都没有被初始化,怎么就直接append了呢?当然是null了
StringBuffer str1 = new StringBuffer(str);
RUBY_uu 2006-04-08
  • 打赏
  • 举报
回复
这是我编写的通过键盘输入的,但是没有实现反转,而是输出了null,大家看看是哪里的问题呀:

import java.io.*;
class A
{
public static void main(String args[])
{
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter abc please:");
String str=br.readLine();
StringBuffer str1=null;
str1=str1.append(str);
System.out.println(str1.reverse().toString());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}

}}



RUBY_uu 2006-04-08
  • 打赏
  • 举报
回复
用StringBuffer简洁又高效
楼上的实现其实和StringBuffer的实现基本上是一样的.

---------------那如果我想通过键盘输入A B C 是不是就不能用StringBuffer了?

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringBuffer str=br.readLine();//这里会产生一个类型不兼容的错误。

通过键盘输入要怎么编写呢?
洋溢2020 2006-03-24
  • 打赏
  • 举报
回复
用递归函数。。。。
liang8305 2006-03-23
  • 打赏
  • 举报
回复
要求优化速度,优化空间 是什么意思?
wizardblue 2006-03-23
  • 打赏
  • 举报
回复
楼上说的极是,偶也是随便写写
treeroot 2006-03-23
  • 打赏
  • 举报
回复
用StringBuffer简洁又高效
楼上的实现其实和StringBuffer的实现基本上是一样的.
wizardblue 2006-03-23
  • 打赏
  • 举报
回复
static void reverse(char [] s){
int begin = 0;
int end = s.length-1;
while(begin++<end++){
char c = s[begin];
s[begin] = s[end];
s[end]= c;
}
}
wizardblue 2006-03-23
  • 打赏
  • 举报
回复
static void reverse(char [] s){
int begin = 0;
int end = s.length-1;
while(begin+<end++){
char c = s[begin];
s[begin] = s[end];
s[end]= c;
}
}
Goinx 2006-03-23
  • 打赏
  • 举报
回复
new StringBuffer(str).reverse().toString()

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧