gpt4 book ai didi

java - 为什么这会无限/多次显示输出?

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

下面的程序在运行时不会停止。我不认为我犯了一个重大错误,但请帮助我,因为我是 Java 新手。

import java.util.*;
public class ReverseWords {
public static void main( String args[] ) {
String paragraph;
Scanner input = new Scanner (System.in);

System.out.print("Enter a paragraph: ");
paragraph = input.nextLine();
paragraph = paragraph.trim();
StringTokenizer tokens = new StringTokenizer(paragraph, ".");
while (tokens.hasMoreTokens()){

for (int i = paragraph.length() - 1; i>=0; i--) {
System.out.print(paragraph.charAt(i));
}
System.out.print(". ");
}
System.out.println();
}
}

当我输入: The quick brown fox. Jumps over. The lazy dog.
它输出: .god yzal ehT .revo spmuJ .xof nworb kciuq ehT. 无限次。

非常感谢!

最佳答案

看看这个:

 while (tokens.hasMoreTokens())

您永远不会获取下一个 token 。因此,如果这一点恢复为真,它将永远如此。您可能想要(在 while 循环中):

String token = tokens.nextToken();
for (int i = token.length() - 1; i >= 0; i--) {
System.out.print(token.charAt(i));
}
System.out.print(". ");

假设您想要反转每行中的每个部分句子。目前还不清楚您的目标是什么。

关于java - 为什么这会无限/多次显示输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598826/

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