我希望能够获取某个字符串的多个索引值,例如;
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.我将如何解决这个问题?
答案 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);