gpt4 book ai didi

Java,do while循环运行两次,然后再次请求输入

转载 作者:行者123 更新时间:2023-12-01 07:06:24 26 4
gpt4 key购买 nike

我只是在提高我的 Java 技能,我编写了这段代码来玩键盘输入和执行 while 循环。

package Chapter3;

import java.io.IOException;

public class convertCase {

public static void main(String args[]) throws IOException {
char ch = 'a';

do {
System.out.println("please type in a value: ");
ch = (char) System.in.read();

if((int) ch < 96) {
ch += 32;
int newCh = (int) ch;
System.out.println("The lowercase version is: " + (char)newCh);
}

else if((int) ch >96) {
System.out.println("You have typed in" + ch);
ch -= 32;
int newCh = (int) ch;
System.out.println("the uppercase version is: " + (char)newCh);
}
} while(ch!='.');
}

}

问题是,当我测试它时,“while 循环”在请求输入之前运行两次,而不是只运行一次:

please type in a value: 
a
You have typed ina
the uppercase version is: A
please type in a value:
The lowercase version is: *
please type in a value:
L
The lowercase version is: l
please type in a value:
The lowercase version is: *
please type in a value:

有人可以澄清这种情况吗?

最佳答案

那是因为

System.in.read();

接收按下的每个键。也就是说,在您的情况下,是“a”键和“return”键。

如果您想要您的功能,请使用以下内容:

Scanner scanner = new Scanner(System.in);

然后使用:

String line =(char)scanner.nextLine();

然后解析该值。

关于Java,do while循环运行两次,然后再次请求输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22979452/

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