我需要要求用户输入一个句子,然后一个字母。然后程序应该打印出这个句子包含多少个字母。用户输入的指定字符的索引位置。我的问题是我不知道如何找到那个角色的位置。
注意:我已经在网上搜索了答案。
import javax.swing.*;
public class Main {
public static void main(String[] args) {
String sentence; //Store the users senctence
String sentence2; //Stores the letter that the user wants to count.
int index;
sentence = JOptionPane.showInputDialog("Write a sentence");
sentence2 = JOptionPane.showInputDialog("Write a letter");
int sLenght = 0;
int countCha = sentence2.indexOf(sentence2);
if (sentence == null || sentence.equals(""))
JOptionPane.showMessageDialog(null, "You need to input a sentence to continue");
else {
for (int i = 0; i < sentence.length(); i++) {
if (sentence.charAt(i) != 1)
sLenght++;
}
JOptionPane.showMessageDialog(null, "The sentence contains" + " " + sLenght +
" " + "characters" + "\n" + "Tecknet" + " " + sentence2 + " " + "occurs" + sentence.indexOf(sentence2) + " " + "times");
}
}
}
2条答案
按热度按时间t5fffqht1#
把句子分成几个字母,然后通读一遍。如果匹配,则将其添加到将返回的某个列表中。
那就跟我说吧
cedebl8k2#
如果只想显示字符所在的第一个索引,可以使用
String#indexOf(int ch)
. 如果要显示字母在句子中出现的所有位置,可以使用String#indexOf(String str, int fromIndex)
.演示:
输出:
或者,您可以使用
String#charAt
:输出:
您还可以将所有位置添加到
List<Integer>
并显示相同的。输出: