gpt4 book ai didi

java - java中使用read()方法进行计数

转载 作者:行者123 更新时间:2023-12-02 11:51:32 25 4
gpt4 key购买 nike

public static void main(String[] args) throws Exception {
System.out.println("Enter");

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

{
int c;
int count = 0;
while ((c = input.read()) != -1) {

System.out.println(+count);
count++;

}

}
}

仅使用read()方法我想打印每个字符的计数,例如:如果我的输入:星号那么输出应该是:9,但是当我尝试将计数放在循环之外时我的程序永远不会出现跳出循环并打印总计数值,readline()、next()、hasext() 方法不会逐个字符地计数,因此它们给我一个错误的结果

最佳答案

您的 while 循环永远不会退出,因为 read 方法永远不会返回 -1。仅当流到达文件结尾 (EOF) 时才会执行此操作。为了实现这一点,BufferedReader 使用的底层流 (System.in) 必须关闭。

我不确定您的要求是什么,但如果您希望从控制台读取一行输入并确定该行有多少个字符,您可以执行以下操作:

Scanner sc = new Scanner(System.in);
String line = sc.readLine();
int charCount = line.length();
System.out.println("Characters count: " + charCount);

关于java - java中使用read()方法进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847692/

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