我有一个字符串,根据新行上的分隔符进行拆分。我现在想知道如何检查第一个单词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语句内部,因此它将仅使用有效媒体运行。
除此之外,您的代码运行良好:>如果您有任何进一步的问题或澄清,请告诉我!