JAVA题目请人指教

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:39:12
题目:接受键盘输入,将接受的内容反向显示在控制台上。例如:输入abc,在控制台显示的内容为cba。
我写的是:
public static void main(String[] args){
InputStreamReader dis = new InputStreamReader(System.in);
BufferedReader bis = new BufferedReader(dis);
try {
System.out.println(bis.readLine());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
我这样写只能实现我在控制板上输入什么字符串或者字符,他反换给我相等的数据,可是怎么让他把我输入的内容从后到前的反换给我呢?
记得有学过一个个*.last*这样的一个命令,但是这个命令怎么用不上呢?这个好象是用在包装上的吧.有高手能指点我下吗?如何实现呢?
可否请高手们写出来给我看下.我是新手.不是很明白你们说的,如果能有代码直接给我做参考一下,感激万分.

public static void main(String[] args) {
// TODO Auto-generated method stub
InputStreamReader isr=new InputStreamReader(System.in);

BufferedReader br=new BufferedReader(isr);
String s=null;
try {
s=br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
StringBuffer sb=new StringBuffer(); //可以用一个StringBuffer将这个字符串从最后一个字符到第一个字符缓存起来
for(int i=s.length();i>0;i--)
sb.append(s.charAt(i-1));
System.out.println(sb.toString()); //最后打印这个StringBuffer
}

另外,我觉得象倒序输出这样的问题主要目的还是考查堆栈的利用。本题如果利用堆栈来解会更好一些。

把你的try{}块里替换为以下代码,肯定可以实现反向输出

String str = bis.readLine();
for(int i = str.length() - 1; i >= 0;i-- ) {
System.out.print(str.charAt(i));
}
System.out.println();

二楼和三楼的方法都可以。
或者利用StringBuffer逆序输出的方法:reverse();
String in=bis.readLine();
StringBuffer strBuf=new StringBuffer(in);
Syste