日期:2014-05-20  浏览次数:20616 次

关于输入输出字符的小问题
从键盘输入若干个字符,当输入字符“#”时终止输入。统计输入字符的个数,并将他们按输入时的逆序输出。如:
输入:ininputstream#
输出:maertstupni
请问程序怎么写?

------解决方案--------------------
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ConsoleInput {

public static void main(String[] args) throws Exception {
int num = 0;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String c;
StringBuffer buffer = new StringBuffer( " ");
c = in.readLine();
while (! "# ".equals(c)) {
buffer.append(c);
c = in.readLine();
}

System.out.println(buffer.reverse());

}

}

------解决方案--------------------
楼上的正解
也可以用字符数组,
while (! "# ".equals(c)) {
stringArray.add(0,c)
}
都一样。
用stringbuffer正解。
------解决方案--------------------
public static void main(String[] args) throws Exception {
int num = 0;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

StringBuffer buffer = new StringBuffer( " ");
num = in.read();
while (num != 35) {
buffer.append((char)num);
num = in.read();
}

System.out.println(buffer.reverse());

}


lz 问当输入字符“#”时就 "立刻 "终止输入..楼上没有实现呀?
------解决方案--------------------
必须回车。java 使用的是缓存方式的输入。