我的程式輸入了一個字串,例如。你好我是約翰你是誰哦所以我知道你也是約翰我很高興
然后我的程式輸入了一個關鍵字,例如。i(程式還不喜歡大寫或標點符號)
然后它讀取初始字串并找到它提到關鍵字 關鍵字后面的單詞的所有時間,例如。我是,我明白了,我是。
這就是找到最常見的出現并將第二個單詞作為新關鍵字輸出并重復。這將產生 i am john/happy (當第二個單詞出現相同時,它會停止(它意味著))
我想知道的是如何在關鍵字后面找到這個詞。
package main;
import java.util.Scanner;
public class DeepWriterMain {
public static void main(String[] args) {
String next;
Scanner scanner = new Scanner(System.in);
System.out.println("text:");
String input = scanner.nextLine();
System.out.println("starting word:");
String start = scanner.nextLine();
input.toLowerCase();
start.toLowerCase();
if (input.contains(start)) {
System.out.println("Loading... (this is where i find the most used word after the 'start' variable)");
next = input.substring(5, 8);
System.out.println(next);
}else {
System.out.println("System has run into a problem");
}
}
}
uj5u.com熱心網友回復:
如果使用split將所有單詞拆分為一個陣列,則可以遍歷陣列查找關鍵字,如果不是陣列中的最后一個,則可以列印下一個單詞
String arr [] = line.split(" ");
for (int i = 0; i < arr.length -1; i ) {
if (arr[i].equalsIgnoreCase(keyword)) {
sop(arr[i] " " arr[i 1]);
}
- 如果它不是陣列中的最后一個,則僅迭代到 length - 1
uj5u.com熱心網友回復:
String 類包括一個名為public int indexOf(String str). 您可以按如下方式使用它:
int nIndex = input.indexOf(start) start.length()
然后,您只需要檢查輸入字串中是否nIndex == -1存在的情況。start否則,它會為您提供后面單詞的第一個字符的位置。使用相同的indexOf方法查找下一個空格提供了結束索引。
這將允許您避免通過輸入進行線性搜索,盡管 indexOf 方法可能無論如何都會這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488833.html
