【发布时间】:2017-12-05 01:43:15
【问题描述】:
我有点不知所措。
有 4 个部分。
- 提示用户输入包含两个用逗号分隔的字符串的字符串。
- 如果输入字符串不包含逗号,则报告错误。继续提示,直到输入有效字符串。注意:如果输入包含逗号,则假设输入还包含两个字符串。
- 从输入字符串中提取两个单词并删除所有空格。将字符串存储在两个单独的变量中并输出字符串。
- 使用循环扩展程序以处理多行输入。继续,直到用户输入 q 退出。
最终结果应打印如下:
Enter input string: Jill, Allen
First word: Jill
Second word: Allen
Enter input string: Golden , Monkey
First word: Golden
Second word: Monkey
Enter input string: Washington,DC
First word: Washington
Second word: DC
Enter input string: q
我已经弄清楚了一切,但无法弄清楚第二部分。我不完全知道如何处理不包含逗号的代码。
这是我的代码:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String lineString = "";
int commaLocation = 0;
String firstWord = "";
String secondWord = "";
boolean inputDone = false;
while (!inputDone) {
System.out.println("Enter input string: ");
lineString = scnr.nextLine();
if (lineString.equals("q")) {
inputDone = true;
}
else {
commaLocation = lineString.indexOf(',');
firstWord = lineString.substring(0, commaLocation);
secondWord = lineString.substring(commaLocation + 1, lineString.length());
System.out.println("First word: " + firstWord);
System.out.println("Second word:" + secondWord);
System.out.println();
System.out.println();
}
}
return;
}
}
【问题讨论】:
-
if (!string.contains(",")) { /* something */ } -
@azurefrog 但他做到了...
-
如果没有逗号,
commaLocation将是-1,因此请使用打印错误的 if 语句进行检查。 -
@alfasin 我不同意。在我看来,说“我不知道如何编写第 2 部分的代码”并不构成问题陈述。我希望至少对 OP 代码的实际问题有一个高级描述。