gpt4 book ai didi

java - Java中如何在不使用Array或String的情况下读取和输出字符?

转载 作者:行者123 更新时间:2023-12-01 23:34:03 24 4
gpt4 key购买 nike

我应该使用System.in.read()读取用户输入,将其保存到charint变量中并输出用户以相反的顺序输入。只要用户没有输入 "#"

我就应该读取输入

您有一些如何做到这一点的想法吗?示例代码:

public static void main(String[] args) {
int inChar;
System.out.println("Input:");
try {
inChar = System.in.read();
System.out.print("Output: ");
System.out.println(inChar); // I only get numbers here
} catch (IOException e) {
System.out.println("Error reading from user");
}
}

最佳答案

此任务有两个问题。

如何读取用户输入直到按下“#”以及如何反转字符数组(字符串)。

看看这个

 public static void main(String[] args) throws IOException {
String chars = "";
char inChar = 0;
System.out.println("Enter Character and press Enter: ");

while (inChar!='#') {
inChar = (char)System.in.read();
if (inChar=='\n'){
continue;
}
chars += inChar;
}
System.out.println("Input: " + chars);
System.out.print("Output: ");
for (int i=chars.length()-2; i>=0; i--){
System.out.print(chars.charAt(i));
}
}

编辑:谢谢@DevilsHnd。使用 System.in.read() 代替 Scanner 更新代码。

在 while 循环中,代码读取用户输入,直到按下“#”键。 Java 无法读取按键,除非您使用 GUI(swing、awt)或 JNI C++ 库。因此,当按下 Enter 时,代码会读取用户输入。

如果用户输入#,则循环中断。对于所有其他字符,该字符将添加到最终的字符串中。由于 System.in.read() 还读取新行 (\n),因此代码不会将它们添加到最终字符串中。

对于第二个问题,代码会迭代最终字符串的长度,并从最后一个字符开始打印字符。
请注意,迭代从位置 length-2 处的字符开始,这是因为字符串的最后一个字符是“#”,因此不应在输出中打印。

关于java - Java中如何在不使用Array或String的情况下读取和输出字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58281526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com