Faire moins de l'opération sur la chaîne
J'ai un petit problème avec le moins le fonctionnement en java. Lorsque l'utilisateur presse la touche "retour arrière" de la clé, je veux le char que l'utilisateur a tapé, qui doit être enlevé de la parole qui existe.
e.g
mot = monnom
et après un retour arrière
mot = mynam
C'est un peu de ce que j'ai:
String sentence = "";
char c = evt.getKeyChar();
if(c == '\b') {
sentence = sentence - c;
} else {
sentence = sentence + c;
}
L'opération d'ajout d'œuvres. Donc, si j'ajoute une lettre, il ajoute au texte existant. Cependant, la borne ne fonctionne pas. Suis-je manqué quelque chose? Ou de le faire complètement tort?
OriginalL'auteur user1005253 | 2011-11-30
Vous devez vous connecter pour publier un commentaire.
Vous faites complètement fausse. Vous devez
substring
de0
à la longueur de la chaîne, moins un. Donc:OriginalL'auteur Ry-
Pour des raisons de commodité, Java prend en charge la concaténation de chaîne avec le signe"+". C'est un opérateur binaire avec un type de classe comme un opérande. Voir Opérateur de concaténation de chaîne dans le Java Langage de Spécification.
Java ne supporte pas la surcharge de la '-' opérateur entre une Chaîne et un char.
Au lieu de cela, vous pouvez supprimer un caractère à partir d'une chaîne en ajoutant les sous-chaînes avant et après.
OriginalL'auteur Andy Thomas
Il n'y a pas de correspondant opérateur + qui vous permet de supprimer un caractère à partir d'une Chaîne.
OriginalL'auteur Shaun
Vous devriez enquêter sur la classe StringBuilder, par exemple:
Ensuite, vous pouvez faire quelque chose comme:
pour un nouveau personnage ou
Ensuite, lorsque vous souhaitez utiliser la chaîne de caractères, utilisez:
OriginalL'auteur Moishe Lettvin