Java >> Tutoriel Java >  >> Tag >> String

Trouver la deuxième occurrence du caractère dans la chaîne Java

Rechercher la deuxième occurrence d'un caractère dans une chaîne Java | Dans une chaîne donnée, il peut y avoir plusieurs occurrences d'un caractère. Dans cet article, nous trouverons la deuxième occurrence du caractère dans la chaîne Java. Pour résoudre ce problème, nous devons d'abord comprendre deux formes de la méthode indexOf().

Pour ce faire, nous pouvons utiliser de nombreuses méthodes disponibles dans la bibliothèque Java. Comme d'autres langages, Java fournit également de nombreuses méthodes de manipulation de chaînes qui ont facilité la tâche des programmeurs. Ici, nous utilisons une telle méthode appelée indexOf().

Syntaxe de la méthode : - public int indexOf(int ch)

  • Paramètres : Caractère dont on veut trouver l'index.
  • Renvois : Index de la première occurrence du caractère depuis le début. Elle renvoie -1 si le caractère donné n'existe pas.

La méthode ci-dessus prend un caractère qui spécifie le caractère à rechercher et renvoie l'index là où il existe. Voyons un exemple :-

String str = "Know Program";
System.out.println(str.indexOf('o'));

Sortie :-

2

Cela prend juste le paramètre de caractère et renvoie la première occurrence du caractère "o".

Syntaxe de la méthode : - public int indexOf(int ch, int fromIndex)

  • Paramètres : ch – Caractère dont on veut trouver l'index. fromIndex - l'index à partir duquel commencer la recherche.
  • Renvois : Index de la première occurrence du caractère dans la séquence de caractères représentée par cet objet qui est supérieur ou égal à fromIndex, ou -1 si le caractère n'apparaît pas.

Exemple de méthode indexOf(int ch, int fromIndex) :-

String str = "Know Program";
System.out.println(str.indexOf('o', 4));

Sortie :-

7

Les extraits de code ci-dessous renvoient la première occurrence du caractère "a" de l'index 4 dans la chaîne donnée "Know Program".

Trouver la deuxième occurrence du caractère dans la chaîne Java en utilisant indexOf()

Maintenant, pour trouver la deuxième occurrence de caractère dans la chaîne Java, nous pouvons utiliser ces deux méthodes indexOf () afin qu'il récupère la deuxième occurrence. Observez le code ci-dessous.

String str = "Know Program";
char ch = 'o';
System.out.println(str.indexOf(ch, str.indexOf(ch) + 1));

Sortie :

7

Observez que la première occurrence de '0' est en 2ème position. Par conséquent, str.indexOf(ch) renvoie la valeur 2 qui est passée à la méthode précédente en tant que paramètre. Le str.indexOf(ch, 3) est appelé, ce qui renvoie la première occurrence de 'o' à partir de la 3ème position, d'où le code renvoie 7.

import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);

      System.out.print("Enter String: ");
      String str = scan.nextLine();
      System.out.print("Enter a character: ");
      char ch = scan.next().charAt(0);

      int index = str.indexOf(ch, str.indexOf(ch) + 1);

      System.out.println("Index of the second occurrence of " 
                         + " character \'" + ch + "\' is: "+ index);
      scan.close();
   }
}

Sortie :-

Saisissez la chaîne :Know Program
Saisissez un caractère :r
L'indice de la deuxième occurrence du caractère « r » est :9

Cas de test lorsque le caractère n'existe qu'une seule fois :-

Entrez la chaîne :Know Program
Entrez un caractère :n
L'index de la deuxième occurrence du caractère "n" est :-1

Cas de test lorsqu'un caractère n'existe pas dans la chaîne donnée :-

Saisissez la chaîne :Know Program
Saisissez un caractère :H
L'indice de la deuxième occurrence du caractère "H" est :-1


Balise Java