gpt4 book ai didi

java - 统计输入字符的次数--Do-While Loops Java

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

我有点困惑为什么我需要在这篇文章中使用 do-while 循环。我想做的是计算用户输入字符的次数。当用户键入“.”时,计数应停止。当我尝试在没有 do-while 的情况下运行程序时,x 的计数会乘以 3。我在网上读到控制台输入是行缓冲的。按照我的理解,一整行是由一个字符创建的,因此实际上还有更多字符?我的理解正确吗?如果可能的话,我可以解释一下 do-while 循环吗?

public class readCharLengths {
public static void main(String args[])
throws java.io.IOException {
char typed, ignore;
int x=0;
for ( ; ; ) { //infinite loop to keep reading in values

typed = (char) System.in.read(); //get typed character

do { //confused here
ignore = (char) System.in.read(); //confused here
} while (ignore != '\n'); //confused here

if (typed =='.') break; //break loop when . is typed
x++; //increment x

}

System.out.println("The number of characters is: " + x); //print x

}
}

最佳答案

这取决于用户如何向控制台进行输入的环境。如果他们一次插入一个字符,每个字符占一行。或者,如果他们输入一串字符,基本上就像一个句子,然后计算字符数,直到达到句点。

如果每行一个字符,我建议:

    int x = 0;
Scanner in = new Scanner(System.in);
while (true) {
String input = in.nextChar();
if (input.equals('.') {
break;
} else {
x++;
}
}

如果是字符串,我建议:

    int x = 0;
Scanner in = new Scanner(System.in);

String input = in.nextLine();

for (int i=0; i<input.length(); i++) {
if (input.charAt(i).equals('.') {
break;
} else {
x++;
}
}

关于java - 统计输入字符的次数--Do-While Loops Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24070554/

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