Je veux faire une fonction générale. Je veux stocker uniquement le mot complet dans la matrice. Un mot incomplet doit être ignoré J'ai une taille de matrice arrête [19]. Ici, la condition est, si le pointeur vient à "liitle", il faudra le "éclairé", donc je ne veux donc pas la parole fractionnée en tableau, puis je dois laisser tomber le mot "petit". Vous voulez des mots complets dans un tableau. Je veux générer la sortie ci-dessous. P> J'essaie le code ci-dessous, alors quelle condition je dois ajouter pour ignorer le mot scindinal p>
6 Réponses :
Modifier la ligne Cela donnera la sortie dont vous avez besoin. P>
La raison en est que vous avez pris la taille de 19 ans et en boucle, cela prend du caractère de la phrase jusqu'à ce que le mot "éclairé" et la longueur de la phrase "scintillement scintillement" est également 19. P>
merci. p> Char [] Ar = NOUVEAU CHAR [19]; CODE> TO
CHAR [] ARR = Nouveau Char [15]; P>. P>.
Merci pour la réponse mais je veux faire une fonction générale. Je veux stocker uniquement le mot complet dans la matrice. mot incomplet devrait être ignoré
Pourquoi ne vérifiez-vous pas l'espace dans la boucle BCoz, il y aura toujours un espace entre les mots d'une phrase. Cela devrait résoudre votre problème. Faites-moi savoir si cela fonctionne pour vous.
@Bheesham quel tableau? Vous n'avez même pas de tableau pour les mots ??
Une solution Bit Butt pourrait ressembler à ceci:
private static string SplitCut( string input, int length) { var words = input.Split(" "); StringBuilder builder = new StringBuilder(); foreach (var word in words) { if ( builder.Length + word.Length <= length) { builder.Append(word); } else { //can't add more break; } } if (builder.Length == 0) return "Can't cut off without breaking word"; return builder.ToString(); }
Bonjour, juste un petit bug dans la première solution. Si l'index est inférieur à 1, votre code lancera une exception indexAtOfRangeException.
Merci, le bogue est corrigé maintenant, mais j'aurais ajouté la condition dans cette ligne si (longueur> = entrée.length && longueur <1) entrée de retour; // entrée entière code>
En fait, dans le cas de longueur <= 0 code> en premier lieu, lancer ArgOUTOFRANgeException est probablement l'action la plus appropriée - qui est ce que j'ai fait à la mise à jour de ma réponse.
Je ne suis pas vraiment sûr de ce que vous essayez de réaliser, mais peut-être que ceci pourrait vous être utile? Vous pouvez ensuite paramétrer le 19 code > Pour la longueur (si c'est quelque chose que vous voulez faire). p> p>
Vous pouvez faire quelque chose comme ça. et utilisez-le comme ceci P> strRead(strSentence,19)
Ajoutez une condition if-else dans la boucle, casser si la longueur du résultat variable3 est égale à 19 pour (int i = 0; i } p> p>
Ce code résoudra votre problème. Faites-moi savoir s'il y a quelque chose qu'il n'est pas clair.
@Bheesham Si cela vous convient et que vous n'avez pas besoin d'une explication supplémentaire, pourriez-vous s'il vous plaît marquer / l'accepter?
Je ne peux pas la marquer, je suis un nouvel utilisateur et une réputation de dépassement de ma pile est faible
Est-ce que cela est spécifique à la chaîne? Est-ce juste pour cette chaîne ou plusieurs différents? Pouvez-vous pas seulement se séparer »et imprimer uniquement les deux premiers mots?
Êtes-vous autorisé à utiliser .Split () ?
Je veux faire une fonction générale. Je veux stocker uniquement le mot complet dans la matrice. Le mot incomplet devrait être ignoré.
Qu'est-ce qu'un mot incomplet? Comment faites-vous ce général?
Qui a donné la note de -ve?