多个位置的字符串索引

时间:2015-04-12 22:42:15

标签: java string indexing

我希望能够获取某个字符串的多个索引值,例如;

System.out.print("Enter an Integer:");

Scanner input = new Scanner(System.in);
String primeNumber = input.nextLine();

System.out.printf("\n%s",primeNumber.indexOf('2'));

输入2589729872的输入后,得到0的结果。

我想获得0,5和9.我将如何解决这个问题?

4 个答案:

答案 0 :(得分:0)

如果您只想打印它们,这应该足够了,否则您也可以将它们存储在一个数组中并稍后打印出来。

System.out.print("Enter an Integer:");

Scanner input = new Scanner(System.in);
String primeNumber = input.nextLine();
int index = -1;

while ((index = primeNumber.indexOf('2', index + 1)) != -1) {
    System.out.printf("%d,", index);
}
System.out.printf("\n");

答案 1 :(得分:0)

您可以尝试这样的事情:

int length = primeNumber.length();

for(int i = 0 ; i < length; i++){
    if(primeNumber.charAt(i)== '2'){
    System.out.println(i);
    }

}

答案 2 :(得分:0)

扫描仪输入=新扫描仪(System.in);

String primeNumber = input.nextLine();

int index = primeNumber.indexOf(&#39; 2&#39;);

while(index&gt; = 0){

System.out.println(index);
index = primeNumber.indexOf('2',index+1);

}

答案 3 :(得分:0)

使用Java 8,您可以这样做:

IntStream.range(0, primeNumber.length())
    .filter(j -> primeNumber.charAt(j) == '2')
    .forEach(System.out::println);