字符串在多个位置的索引
index of string in multiple positions
我希望能够获取某个字符串的多个索引值,例如;
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。我该怎么做?
如果你只是想打印它们,这应该足够了,否则你也可以将它们存储在一个数组中,稍后再打印。
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");
您可以尝试这样的操作:
int length = primeNumber.length();
for(int i = 0 ; i < length; i++){
if(primeNumber.charAt(i)== '2'){
System.out.println(i);
}
}
扫描仪输入=新扫描仪(System.in);
String primeNumber = input.nextLine();
int 索引 = primeNumber.indexOf('2');
同时(索引 >=0){
System.out.println(index);
index = primeNumber.indexOf('2',index+1);
}
使用 Java 8 你可以这样做:
IntStream.range(0, primeNumber.length())
.filter(j -> primeNumber.charAt(j) == '2')
.forEach(System.out::println);
我希望能够获取某个字符串的多个索引值,例如;
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。我该怎么做?
如果你只是想打印它们,这应该足够了,否则你也可以将它们存储在一个数组中,稍后再打印。
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");
您可以尝试这样的操作:
int length = primeNumber.length();
for(int i = 0 ; i < length; i++){
if(primeNumber.charAt(i)== '2'){
System.out.println(i);
}
}
扫描仪输入=新扫描仪(System.in);
String primeNumber = input.nextLine();
int 索引 = primeNumber.indexOf('2');
同时(索引 >=0){
System.out.println(index);
index = primeNumber.indexOf('2',index+1);
}
使用 Java 8 你可以这样做:
IntStream.range(0, primeNumber.length())
.filter(j -> primeNumber.charAt(j) == '2')
.forEach(System.out::println);