如:String str="I am a student"; 我想把它反过来显示:"tneduts a ma I";
class ChangeChar
{
public static void main(String[] args)
{
String str="I am a student";
int j=str.length();
String str1[]= new String[j];
for(int i=0;i<str.length()-1;i++)
{str1[j-1]=str.substring(i,i);j--;}
for(int k=0;k<str.length();k++)
System.out.print(str1[k]);
}
}
上面是代码结果是NULL。请高手指教!
class ChangeChar
{
public static void main(String[] args)
{
String str="I am a student";
int j=str.length();
String str1[]= new String[j];
for(int i=0;i<str.length()-1;i++)
{str1[j-1]=str.substring(i,i);j--;}
for(int k=0;k<str.length();k++)
System.out.print(str1[k]);
}
}
上面是代码结果是NULL。请高手指教!
解决方案 »
- 一个小问题关于正则表达式的,知道的兄弟帮帮忙看看
- vector容量增大时是否需要转移原数据
- jdbc:sqlserver和jdbc:micorsoft:sqlserver 有什么区别
- 请问dom4j解析XML怎么得到这个name节点的Text
- SWT的多线程问题
- 求助一个关于JMF的问题。。。
- 100分相送 :怎样用程序删出操作系统生成的快捷方式?
- 求高手点拨一个“Java小功能块”|的异常问题的原因.
- 关于JDK配置的小问题(50分不够还可另加)
- 各位兄弟:我电脑的图标变得“支离破碎”,模糊不清,怎么办阿?
- 字符串对换的问题?谢谢!在线等
- 怎么在指定文件夹下进行文件模糊查找?如以20050505开头的,以.jpg结尾的文件
改成:
for(int i=0;i<str.length();i++)str1[j-1]=str.substring(i,i);
改成:
str1[j-1]=str.substring(i,i + 1);
使用StringBuf类做中间转换比较好,或者像下面这样也可以:public class ChangeChar { public static void main(String[] args) {
String str="I am a student";
int len = str.length();
char[] buf = new char[len];
str.getChars(0, len, buf, 0);
for(int i = 0; i < len / 2; i++) {
char tmp = buf[i];
buf[i] = buf[len - i - 1];
buf[len - i - 1] = tmp;
}
String newStr = new String(buf, 0, len);
System.out.println(newStr);
}
}
sb.append("I am a student");
sb=sb.reverse();
System.out.println(sb);
sb.append("I am a student");
sb=sb.reverse();
out.println(sb);