2012-04-01 66 views
-1

可能重複:
Loop Keyword Program HomeworkJava循環關鍵詞含

了,我就是有這個程序有問題。用戶將輸入一個關鍵字,然後再輸入一個句子。我需要程序輸出多少句子包含關鍵字,以及關鍵字在字符串中的平均起始位置。這是我迄今爲止所擁有的。只要程序輸出,它不會給我輸入關鍵字的正確次數。它給我的句子#。有人能幫幫我嗎?謝謝。

import java.util.Scanner; 

public class Lab6Loops { 

    public static void main(String[] args) { 

     String keywordString; 
     String inputString; 
     Scanner keyboard = new Scanner (System.in); 
     int numofSentences = 0; 
     int numofKeyword = 0;      
     System.out.println ("Enter a keyword. We will search each sentence for this word."); 
     keywordString = keyboard.nextLine(); 
     System.out.println ("Please enter a sentence or type 'stop' to finish"); 
     inputString = keyboard.nextLine(); 
     while(!inputString.equals ("stop")) 
     {  
      if(inputString.contains (inputString)); 
      numofSentences = numofSentences + 1; 
      if(inputString.contains (keywordString)); 
      numofKeyword = numofKeyword + 1; 
      System.out.println ("Enter a line of text or 'stop' to finish"); 
      inputString = keyboard.nextLine(); 
     } 
     System.out.println ("You entered " + numofSentences + " sentences"); 
     System.out.println ("You have " + numofKeyword + "sentences that contain the keyword"); 
    } 
} 
+0

你從讀者期待什麼好?整個解決方案都爲您烹製或修復了一個您無法找到的錯誤?請確切說明你的期望。 – Vincent 2012-04-01 06:22:13

+0

我希望有人能夠向我解釋我在做什麼錯誤,導致輸出不能正確保留包含用戶輸入關鍵字的句子數。我對Java真的很陌生,所以我知道這是初學者的東西。 – user1276514 2012-04-01 06:24:46

+3

不要在你的if語句頭後放置分號:'if(inputString.contains(inputString)); < - no';'' – 2012-04-01 06:30:15

回答

2

也許沒有;if報表後,將工作:-)

public static void main(String[] args) { 

    Scanner keyboard = new Scanner (System.in); 

    System.out.println("Enter a keyword. We will search each sentence for this word."); 
    String keywordString = keyboard.nextLine(); 
    System.out.println("Please enter a sentence or type 'stop' to finish"); 
    String inputString = keyboard.nextLine(); 

    int numofSentences = 0; 
    int numofKeyword = 0;      
    while (!inputString.equals("stop")) 
    {  
     if (inputString.contains(inputString)) 
      numofSentences++; 
     if (inputString.contains(keywordString)) 
      numofKeyword++; 

     System.out.println("Enter a line of text or 'stop' to finish"); 
     inputString = keyboard.nextLine(); 
    } 
    System.out.println ("You entered " + numofSentences + " sentences"); 
    System.out.println ("You have " + numofKeyword + "sentences that contain the keyword"); 
} 
+0

哇,這是我第二次犯這個錯誤,而且在追蹤時我甚至沒有注意到它。感謝Vincent的幫助。 現在爲第三部分。 我需要找到關鍵字的平均起始位置,但只能在包含關鍵字的句子中找到。所以如果聲明,輸入字符串包含關鍵字字符串 如何輸出indexOf的keywordString? – user1276514 2012-04-01 06:35:21

+0

不客氣。不要忘記將正確的答案標記爲本網站的解決方案。謝謝。 – Vincent 2012-04-01 06:39:09