我正在尝试开发一个程序,用字符串中的几个单词分析句子。
当输入句子中的单词时,程序应识别该输入单词出现在字符串中的所有位置。所以,如果我有字符串:
请问您的国家/地区不能为您所做的事情但是您可以为您的国家/地区做些什么
我输入了#34; country"它应输出:
国家一词位于:5,17
我不确定在创建字符串后应该从哪里开始
答案 0 :(得分:1)
请阅读评论中提供的JavaDoc。
基本上,如果您有String
,则可以通过调用split
方法执行split(" ")
操作。这会将整个字符串拆分为数组String[]
然后你可以遍历数组并打印单词的位置。
请记住:字符串操作可以通过各种方式执行
工作示例:
public static void main(String[] args) {
String wholeString = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU BUT WHAT YOU CAN DO FOR YOUR COUNTRY";
String[] justWords = wholeString.split(" ");
String searchString = "COUNTRY";
for (int i = 0; i < justWords.length; i++) {
if (justWords[i].equals(searchString)) {
System.out.println("The word " + searchString + " is in the position: " + i);
}
}
}
请记住,我从0开始计算,所以单词COUNTRY的位置将在4和16而不是5和17,但您应该能够根据您的要求进行调整
输出:
The word COUNTRY is in the position: 4
The word COUNTRY is in the position: 16
您搜索的字符串的附加示例是用户输入。
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter word you are looking for");
String searchString = br.readLine();
String wholeString = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU BUT WHAT YOU CAN DO FOR YOUR COUNTRY";
String[] justWords = wholeString.split(" ");
for (int i = 0; i < justWords.length; i++) {
if (justWords[i].equals(searchString)) {
System.out.println("The word " + searchString + " is in the possition: " + i);
}
}
}