gpt4 book ai didi

java - 当没有输入任何内容时解析生成我生成的错误消息的字符串

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

我目前正在做一项解析字符串的作业,但遇到了一个问题。

看来,如果没有输入任何内容,它就会生成我在未输入逗号时创建的错误消息。

根据zybooks中的分配,它不应该输出任何内容。下面是我的代码。

import java.util.Scanner;

public class ParseStrings {
public static void main(String[] args) {

Scanner scnr = new Scanner(System.in); // scanner for input

//local variables
String lineString;
String firstWord;
String secondWord;
int commaLocation;
boolean inputDone;

//checks to end the program
inputDone = false;

//keeps the loop running until q is entered
while (!inputDone) {
System.out.println("Enter input string: ");
lineString = scnr.nextLine();

//checks comma
commaLocation = lineString.indexOf(',');

if (commaLocation == -1) {
System.out.println("Error: No comma in string");
}

else {
firstWord = lineString.substring(0, commaLocation);
firstWord = firstWord.replace(" ", "");

secondWord = lineString.substring(commaLocation + 1, lineString.length());
secondWord = secondWord.replace(" ", "");

System.out.println("First word: " + firstWord);
System.out.println("Second word: " + secondWord);

System.out.println();
System.out.println();

}

if (lineString.equals("q")) {
inputDone = true;

}



}



return;
}
}

最佳答案

发生这种情况是因为当没有输入任何内容时,找不到逗号,因此 indexOf 返回 -1。

我会添加类似的内容

if (lineString.isEmpty()) {
continue;
}

紧接在lineString = scnr.nextLine();之后

编辑:我刚刚注意到,当您的输入等于“q”时,您的错误消息将被打印。我认为这不是预期的行为,所以我建议放置

if (lineString.equals("q")) {
inputDone = true;
}

就在我上面建议的 lineStringif block 分配之后。

关于java - 当没有输入任何内容时解析生成我生成的错误消息的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62353693/

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