Java 如何找出字符的位置

Java 如何找出字符的位置,java,indexof,Java,Indexof,我有一个字符串(“恐龙”),我不知道怎么做,但是我怎么才能得到字符“o”的位置,是否有可能得到两个位置,就像我的字符串是(“池”)至于你的第一个问题,你可以用它来获得字符串中每个“o”的索引 int oPos = yourString.indexOf('o'); 至于你的第二个问题,通过创建一个方法来获取给定字符的所有位置是可能的,该方法使用跟踪上一个索引,这样你就不会重复字符串中搜索的部分。您可以将位置存储在数组或列表中。对于第一个问题,您可以使用获取字符串中每个“o”的索引 int oPo

我有一个字符串(“恐龙”),我不知道怎么做,但是我怎么才能得到字符“o”的位置,是否有可能得到两个位置,就像我的字符串是(“池”)

至于你的第一个问题,你可以用它来获得字符串中每个“o”的索引

int oPos = yourString.indexOf('o');

至于你的第二个问题,通过创建一个方法来获取给定字符的所有位置是可能的,该方法使用跟踪上一个索引,这样你就不会重复字符串中搜索的部分。您可以将位置存储在数组或列表中。

对于第一个问题,您可以使用获取字符串中每个“o”的索引

int oPos = yourString.indexOf('o');

至于你的第二个问题,通过创建一个方法来获取给定字符的所有位置是可能的,该方法使用跟踪上一个索引,这样你就不会重复字符串中搜索的部分。您可以将位置存储在数组或列表中。

使用带有循环的
indexOf

String s = "Pool";
int idx = s.indexOf('o');
while (idx > -1) {
  System.out.println(idx);
  idx = s.indexOf('o', idx + 1);
}

indexOf
与循环一起使用:

String s = "Pool";
int idx = s.indexOf('o');
while (idx > -1) {
  System.out.println(idx);
  idx = s.indexOf('o', idx + 1);
}
简单地说:

public static int[] getPositions(String word, char letter)
{
    List<Integer> positions = new ArrayList<Integer>();
    for(int i = 0; i < word.length(); i++) if(word.charAt(i) == letter) positions.add(i);

    int[] result = new int[positions.size()];
    for(int i = 0; i < positions.size(); i++) result[i] = positions.get(i);

    return result;
}
publicstaticint[]getPositions(字符串字、字符字母)
{
列表位置=新的ArrayList();
对于(int i=0;i
简单地说:

public static int[] getPositions(String word, char letter)
{
    List<Integer> positions = new ArrayList<Integer>();
    for(int i = 0; i < word.length(); i++) if(word.charAt(i) == letter) positions.add(i);

    int[] result = new int[positions.size()];
    for(int i = 0; i < positions.size(); i++) result[i] = positions.get(i);

    return result;
}
publicstaticint[]getPositions(字符串字、字符字母)
{
列表位置=新的ArrayList();
对于(int i=0;i
这可能有点过头了,但是嘿;)


最棒的是,你也可以找到“oo”

这可能有点过头了,但是嘿;)


最棒的是,您还可以找到“oo”

您是否尝试过将字符串转换为字符数组

int counter = 0;
String input = "Pool";
for(char ch : input.toCharArray()) {
    if(ch == 'o') {
        System.out.println(counter);
    }
    counter += 1;
}

您是否尝试过将字符串转换为字符数组

int counter = 0;
String input = "Pool";
for(char ch : input.toCharArray()) {
    if(ch == 'o') {
        System.out.println(counter);
    }
    counter += 1;
}
试试这个

 String s= "aloooha";
 char array[] = s.toCharArray();
 Stack stack = new Stack();

 for (int i = 0; i < array.length; i++) {
    if(array[i] == 'o'){
      stack.push(i);
    }
 }        
 for (int i = 0; i < stack.size(); i++) {
    System.out.println(stack.get(i));
 }
String s=“aloooha”;
字符数组[]=s.toCharArray();
堆栈=新堆栈();
for(int i=0;i
试试这个

 String s= "aloooha";
 char array[] = s.toCharArray();
 Stack stack = new Stack();

 for (int i = 0; i < array.length; i++) {
    if(array[i] == 'o'){
      stack.push(i);
    }
 }        
 for (int i = 0; i < stack.size(); i++) {
    System.out.println(stack.get(i));
 }
String s=“aloooha”;
字符数组[]=s.toCharArray();
堆栈=新堆栈();
for(int i=0;i
我只找到了替换字符串中字符的代码,现在我想使用此代码,但是如果我找不到图表的位置,我就无法使用。他是你的朋友。你要找的方法是
indexOf
。我只找到了替换字符串中字符的代码,现在我想使用此代码,但我可以I don’如果我找不到图表的位置,那就别用了。他是你的朋友。您要查找的方法是
indexOf
KeyEvent.VK_O==79==O'
(大写O)。只需使用小写字符literal
'o'
KeyEvent.VK_o==79='o'
(大写o)。只需使用小写字符literal
'o'
。啊,是的,但它也非常灵活;)我不介意人们偶尔会过火,但拼错“hey”是不可原谅的:-@paxdiablo抱歉,我的道歉,我已经更新了这个最令人发指的错误,我希望你能在你内心找到原谅我的理由-我必须用吸管换脑子;)(不,说真的,谢谢;)啊,是的,但它也非常非常灵活;)我不介意人们偶尔会过火,但拼错“hey”是不可原谅的:-@paxdiablo抱歉,我的道歉,我已经更新了这个最令人发指的错误,我希望你能在你内心找到原谅我的理由-我必须用吸管换脑子;)(不用说真的,谢谢)