将长字符串拆分为新行,并在java中的第一个单词中检查每一行



我有一个字符串,根据新行上的分隔符进行拆分。我现在想知道如何检查第一个单词index[0]什么是单词,但找不到真正遍历元素和检查的方法。

可能是我的做法完全错误。

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] stringArr = line.split(">>");
int ask = 0;
for (int i = 0; i < stringArr.length; i++) {
if (stringArr[0].equals("radio")) {
ask = 10;
} else if (Objects.equals(stringArr[0], "tv")) {
ask = 15;
} else {
System.out.println("Invalid media.");
}
}
System.out.println(ask);
}  

然后当我输入radio 3 7210>>tv 4 2345>>radio 9 31000>>

输出应为:

10
15
10

相反——一无所获。空行,程序结束。

这样的东西是你想要的吗:

Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] stringArr = line.split(">>");
for (int i = 0; i < stringArr.length; i++) {
int ask = 0;
String[] words = stringArr[i].split(" ");
if (words[0].equals("radio")) {
ask = 10;
System.out.println(ask);
} else if (words[0].equals("tv")) {
ask = 15;
System.out.println(ask);
} else {
System.out.println("Invalid media.");
}
}

输入:

radio 3 7210>>tv 4 2345>>radio 9 31000>>

输出:

10
15
10

首先,我定义了扫描仪,不确定你是否做到了,但很确定你做到了。

stringArr的元素将包括每个">>"之间的随机数。这意味着,在每个元素中,我们应该创建一个由" "分割的新列表,以隔离"radio""tv"作为第一个元素。

此外,我只是重写了else-if语句,该语句检查短语的第一个单词是否由"分隔;CCD_ 8";是"tv",使用.equals()方法作为原始if语句。

最后,由于每次代码遇到">>"时都要打印出一个数字,因此我们应该在for循环中打印出ask

编辑:

已将System.out.println(ask)移到if和else-if语句内部,因此它将仅使用有效媒体运行。

除此之外,您的代码运行良好:>如果您有任何进一步的问题或澄清,请告诉我!