Java的。字符串中的单词定位

时间:2016-11-07 15:04:39

标签: java string

我目前正在编写java,并且已被要求开发一个程序,该程序分析包含多个单词而没有标点符号的句子。当输入该句子中的单词时,程序会识别该单词出现在该字符串中的所有位置。

字符串示例:

  

不要问你的国家能为你做什么,问你可以为你的国家做些什么。

代码:

String Scan_word;
Scan_word = JOptionPane.showInputDialog("Word to be scanned for");

String Full_Scan;
Full_Scan = "You have entered " + Scan_word + " "; // the input dialog box will display this when a word is inputted
String sentence = "Ask not what your country should do for you but what you should do for you country"; //The sentence 

JOptionPane.showMessageDialog(null, Full_Scan);
if (sentence.contains(Scan_word)); {
    String[] sentenceWords = sentence.split(" ");

    for (int i = 0; i < sentenceWords.length; i++) {
        if (sentenceWords[i].equals(Scan_word)); {
    }     System.out.println(Scan_word + " is located in the: " + i + "th position");
}

所有代码都应该在静态空白部分中。

抱歉,它有编号评论。 PLS忽略了CAQ1STOPBLOCKINGTHEM标题,因为我的netbeans项目无缘无故被锁定。

1 个答案:

答案 0 :(得分:2)

您的错误似乎与您的if没有正确编写有关,实际上您在它之后放了一个分号意味着没有启动指令,而且您在大括号外打印消息,最后您应该打印i + 1而不是i的值,因为它从0开始,所以您的代码应该是:

if (sentenceWords[i].equals(Scan_word)) {
    System.out.println(Scan_word + " is located in the: " + (i + 1) + "th position");
}

考虑阅读一些关于java中命名约定的文章,例如this one。简而言之,可变名称应以小写字母开头。