我的班级有一个编码任务,包括检查“Tweet测试员”的字符。以下代码有问题,我相信它是一个无限循环,但我不知道是什么导致它。基本上,每次我输入一个值时,交互窗格都会停止,只是给我一个加载图标。
Scanner scan = new Scanner(System.in);
System.out.println("Tweet something!");
String tweet = scan.nextLine();
int mention1 = 0;
while (mention1 < tweet.length());
{
mention = tweet.charAt (mention1);
if (mention == '@')
{
if (tweet.charAt(mention1 + 1) != ' ' || tweet.charAt (mention1 + 1) != '\t')
{
mentionCount++;
}
}
mention1++;
}
System.out.println ("Number of Mentions: " + mentionCount);
此外,显示的分配部分应该告诉用户在推文中有多少提及(由用户输入),并且应该排除任何@
后跟空格或制表符。
问题是你的while
声明后的分号。它确实会创建一个无限循环,因为后续的代码块永远不会被执行。
while (mention1 < tweet.length());
^
Remove