Je tente de brouiller deux lettres aléatoires d'une chaîne qui n'est pas la première lettre ou deux derniers. Je reçois une erreur d'une erreur "d'index de chaîne" lors de la compilation. J'ai essayé d'attirer de nombreuses solutions différentes, mais rien ne semble fonctionner.
Pour cette affectation, nous devons utiliser une méthode et des commandes .chat. J'ai essayé de créer des variables pour les deux caractères aléatoires, puis de les ajouter à la corde retournée, mais ne pouvait pas y arriver non plus. p> Je m'attends à une sortie d'une chaîne avec deux de ses caractères brouillés. Par exemple, "fantastique" serait "fantastique" ou "fnatiastic". P> p>
4 Réponses :
Vous faites: donc les index intérieurs mais cet index n'existe pas dans votre chaîne. C'est voir le doc p> p> newword code> vont de 0 code> à place-1 code> de
Ensuite, vous faites: p> hors de liaison code> p>
Lorsque vous créez Si vous souhaitez échanger des caractères convertir une entrée en NEWWORD = INPUT.SUBSTRING (0, Place) CODE> Il dispose exactement de Placer code> caractères. Vous ne pouvez pas demander charat (place) code> à partir de celui-ci, le dernier caractère est sur place-1 code>. Char [] code> et générer des index aléatoires pour échanger. p>
Vous pouvez essayer entrée: fantastique
Sortie: fanatstic, gras, fanatstic p> p>
Essayez quelque chose comme ceci:
public static String scramble(String input) {
int range = input.length() - 3;
int place = (int)(Math.random() * range);
String newWord = input.substring(0, place);
newWord = newWord + input.charAt(place + 1);
newWord = newWord + input.charAt(place);
// if you need the whole input, just 2 characters exchanged, uncomment this next line
// newWord = newWord + input.substring(place + 2, range);
return newWord;
}
Assurez-vous que la valeur "place" n'est pas supérieure à la longueur de la chaîne avant d'appeler .chathat
Pourquoi obtenez-vous l'erreur lors de la compilation?