我想知道如何用命令字符串數組搜索結果:搜索訂單
例:
String[] chestOrder = new String[]{"silver", "silver", "silver", "gold", "silver", "silver", "gold", "silver", "silver",
如果我搜索: 銀色銀色銀色黃金,我怎樣才能得到下一個字符串?所以在這裏,它是銀色的。
謝謝。
我想知道如何用命令字符串數組搜索結果:搜索訂單
例:
String[] chestOrder = new String[]{"silver", "silver", "silver", "gold", "silver", "silver", "gold", "silver", "silver",
如果我搜索: 銀色銀色銀色黃金,我怎樣才能得到下一個字符串?所以在這裏,它是銀色的。
謝謝。
我的理解是,如果你連續銀3次,然後黃金,你想要得到下一個字符串。
因此,在這段代碼中,它檢查一行中是否有銀色的銀色黃金,並獲取下一個字符串給變量並打印出來。
String[] chestOrder = new String[]{"silver", "silver", "silver", "gold", "silver", "silver", "gold", "silver", "silver"};
String next = null;
for(int i = 0 ; i < chestOrder.length ; i++){
if(i <= (chestOrder.length - 3)){
if(chestOrder[i].equals("silver") && chestOrder[i+1].equals("silver") && chestOrder[i+2].equals("silver") && chestOrder[i+3].equals("gold")){
next = chestOrder[i+4];
}
}
}
System.out.println(next);
public static void searchStringArray() {
String[] chestOrder = { "silver", "silver", "silver", "gold", "silver",
"silver", "gold", "silver", "silver" };
String searchString = "silver silver silver gold";
StringBuilder tempStr = new StringBuilder();
for (String s : chestOrder) {
tempStr.append(s + " ");
}
Scanner scanner = new Scanner(tempStr.toString());
while (scanner.hasNext()) {
if (null != scanner.findInLine(searchString)) {
System.out.println("" + scanner.next());
} else {
scanner.next();
}
}
scanner.close();
}
謝謝:)但我怎麼能只有一個結果。因爲'scanner.next()'將我的其他值返回給我。例如'結果=銀銀金'。但我想要'結果=銀子'。只有第一個結果。這是可能的 ?如果是的話,你知道嗎?我嘗試使用'scanner.nextLine',但它是一樣的 – CBJul
你試過這段代碼嗎?我已經測試過,然後發佈。試試一旦它達到你想要的輸出。 –
你嘗試過這麼遠嗎? –