Maison > Java > Comment stocker des jetons de chaîne dans un tableau

Comment stocker des jetons de chaîne dans un tableau

王林
Libérer: 2024-02-09 13:30:15
avant
1337 Les gens l'ont consulté

L'éditeur PHP Strawberry vous présentera comment stocker les balises de chaîne dans un tableau. Lors de la programmation, nous devons souvent traiter des chaînes et les diviser en plusieurs jetons. Le stockage de ces balises dans un tableau nous permet de les traiter et de les utiliser plus facilement. Cet article expliquera en détail comment utiliser les fonctions et méthodes en PHP pour implémenter cette fonction afin d'aider les lecteurs à mieux la comprendre et l'utiliser. Que vous soyez débutant ou développeur expérimenté, vous pourrez acquérir des connaissances utiles et des conseils pratiques grâce à cet article. Commençons!

Contenu de la question

J'ai fait référence à quelques exemples pour réussir à extraire chaque partie de la saisie de l'utilisateur. Mais il ne peut être retiré qu’une seule fois. Il devrait y avoir 2 boucles pour extraire plusieurs entrées et enregistrer les marqueurs dans un tableau. Je suis bloqué sur une baie, que dois-je faire ?

question:
write a program that accepts string tokens in the format of token1:token2:token3:token4 , where : is used as delimiter to separate tokens. there should be two functions, ingest and appearance.

ingest takes a string, and stores it in the collection.

appearance takes a string as input . it returns a normalized value
between 0 to 1,  where the value represents the percentage of
appearances of stored tokens which have input as the prefix.

state the space and time complexity of your solution.


Copier après la connexion

Résultats attendus :

ingest('mcdonal:uk:employeea')
ingest('mcdonal:hk:employeea')
ingest('mcdonal:hk:employeeb')
ingest('mcdonal:hk:employeec')
ingest('fastfood')

appearance('mcdonal')
# > 0.8
appearance('mcdonal:hk')
# > 0.6
Copier après la connexion

Mon code :

String input;
   
        
 // For user input
 Scanner sentense = new Scanner(System.in);
 input = sentense.nextLine();   
 String[] ingestWords = {};
       
             
 // Use ':' to seperate input
 StringTokenizer st = new StringTokenizer(input, ":");
 while(st.hasMoreTokens()) { 
   System.out.println(st.nextToken());
 }
Copier après la connexion

Solution

Je vous propose de résoudre votre problème en deux étapes.

Tout d'abord, la partie ingestion : vous devez accepter les mots saisis par l'utilisateur et stocker chaque mot dans arraylist<string> plutôt que dans un tableau de taille fixe, car vous ne savez pas à l'avance combien d'entrées vous obtiendrez.

Un exemple de code est présenté ci-dessous.

public static void main(string[] args) {
    string input;
    list<string> ingestwords = new arraylist<>();

    scanner sentence = new scanner(system.in);
        
    while (sentence.hasnext()) {
        input = sentence.next();
            
        if (input.equals("exit")) { // to stop receiving input
            break;
        }
            
        ingestwords.add(input);         
    }
    sentence.close();
}
Copier après la connexion

Deuxièmement, la partie apparence : étant donné une chaîne, vous devez parcourir la liste des mots de la partie ingestion et vérifier quels mots commencent par la chaîne donnée.

Par exemple, vous pouvez créer une fonction d'assistance comme celle-ci.

void hasPrefix(String word, String str) {
    return word.startsWith(str);
}
Copier après la connexion

Appliquez cette fonction au nombre de mots préfixés par ingestwords 中的每个单词,将为您提供以 str. Et vous pouvez déterminer le pourcentage d’occurrences à partir de cela.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal