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

Programme Java pour trouver le poids de la chaîne

Programme Java pour trouver le poids d'une chaîne | Dans cette section, nous allons apprendre à trouver le poids d'une chaîne en langage de programmation Java.

Quel est le poids d'une corde ? Le poids de la chaîne est la somme du poids de tous les caractères particuliers qui apparaissent dans la chaîne. Les règles qui sont suivies lors du calcul du poids de la chaîne sont les suivantes :-

1) Les lettres majuscules et minuscules doit être considéré comme identique et ils auront le même poids . Cela signifie le poids de A=a=1, le poids de B=b=2, le poids de C=c=3, ainsi de suite, et le poids de Z=z=26.

2) Si le caractère est un caractère non alphabétique (sauf a-z ou A-Z) alors son poids doit être ignoré . Pour ces caractères poids =0.

3) Si le caractère est une voyelle alors son poids peut être ignoré ou peut être inclus en fonction de l'état.

3) Pour le poids des caractères restants de chaque lettre est sa position dans le système de l'alphabet anglais, c'est-à-dire le poids de a=1, le poids de b=2, le poids de c=3, le poids de d=4, et ainsi de suite…. De même, le poids de y=25, le poids de z=26

Comment trouver le poids d'une chaîne en Java

La méthode weightOfString() prend deux arguments et si la valeur "ignore" (second paramètre) est 0 alors le poids des voyelles sera ignoré sinon il sera inclus.

Programme Java pour trouver le poids d'une chaîne

public class Main {

   // if ignore value is 0 then only ignore vowels
   public static int weightOfString(String string, int ignore) {

      if(string == null || string.isEmpty()) {
         return 0;
      }
      
      // convert string to lower-case
      string = string.toLowerCase();
      
      // variable to store weight of string
      int weight = 0;
      
      for (int i = 0; i < string.length(); i++) {
         char letter = string.charAt(i);
         if (ignore == 0) {
            if (letter == 'a' || letter == 'e' || letter == 'i' 
                || letter == 'o' || letter == 'u') {
               continue;
            }
         }
         if (letter >= 97 && letter <= 122) {
            weight += letter - 96;
         }
      }
      return weight;
   }

   public static void main(String[] args) {
      String string = "Know Program";
      
      // ignore vowels
      System.out.println("Weight of string ignoring vowels = "
                        + weightOfString(string, 0));
      
      // include vowels
      System.out.println("Weight of string including vowels = "
                        + weightOfString(string, 1));
   }

} 

Sortie :-

Poids de la chaîne sans voyelles =120
Poids de la chaîne avec voyelles =151

Dans le programme Java ci-dessus pour trouver le poids de String, nous avons défini la classe Main qui a la méthode statique weightOfString() qui renvoie une valeur entière et prend deux paramètres string et une valeur entière.

Tout d'abord, nous avons vérifié si la chaîne donnée est nulle ou vide ? Si oui, le poids de la chaîne sera 0. Renvoyez donc simplement 0 à la méthode appelante. si vous utilisez Java 11, vous pouvez utiliser isBlank() à la place isEmpty().

Nous avons converti la chaîne donnée en minuscules afin que nous devions écrire du code uniquement en minuscules. Et selon la règle, les caractères minuscules et majuscules auront le même poids. Par conséquent, en écrivant un code séparé pour chaque cas, il est préférable de convertir la chaîne en minuscules ou en majuscules et d'écrire du code uniquement pour un cas.

Nous avons initialisé la variable « poids » à 0. Dans la boucle for, nous obtenons le caractère en utilisant la méthode charAt(). Si la valeur « ignore » est 0, alors dans le bloc if, on vérifie si le caractère est une voyelle (« aeiou » ou « AEIOU ») ou non ? Si oui, continuez et ignorez le poids.

Étant donné que la chaîne ne contient que des minuscules, nous devons donc écrire du code uniquement pour le caractère minuscule. Si la lettre est supérieure ou égale à 97 ou inférieure ou égale à 122, ajoutez le poids de la lettre et soustrayez 96. Enfin, retournez le poids. Voir également :- Comment supprimer une sous-chaîne d'une chaîne Java


Balise Java