Inverser la méthode de chaîne
Je suis en train d'essayer de résoudre le problème suivant mais comment écrire la méthode qui accepte Chaîne comme argument?
Écrire une méthode nommée
printReverse
qui accepte une Chaîne de caractères comme un
argument et imprime les caractères dans l'ordre inverse. Si le vide
la chaîne est passée comme argument, la méthode doit produire aucune sortie.
Assurez-vous d'écrire une méthode main qui démontre de façon convaincante vos
programme en action. Ne pas utiliser la méthode inverse de la
StringBuilder
ouStringBuffer
classe!
Pour l'instant j'ai la résoudre d'une manière plus facile:
import java.util.Scanner;
class ReverseString
{
public static void main(String args[])
{
String original, reverse = "";
Scanner in = new Scanner(System.in);
System.out.println("Enter a string to reverse");
original = in.nextLine();
int length = original.length();
for ( int i = length - 1 ; i >= 0 ; i-- )
reverse = reverse + original.charAt(i);
System.out.println("Reverse of entered string is: "+reverse);
}
}
Code semble correct.
Vous n'avez pas mis en œuvre printReverse 😐
Vous avez résolu le problème correctement (il serait plus efficace d'utiliser
Strictement parlant, toutes les solutions basées sur
Vous n'avez pas mis en œuvre printReverse 😐
Vous avez résolu le problème correctement (il serait plus efficace d'utiliser
StringBuilder
au lieu d'un String
pour reverse
, mais votre version est très bien ici). Maintenant, vous avez juste besoin de prendre de la logique dans votre for
boucle et de le déplacer dans une méthode.Strictement parlant, toutes les solutions basées sur
charAt
sont mauvais, comme charAt
ne vous donne pas le caractère "à", mais le "code de l'unité", et il y a des unités de code qui ne sont pas des personnages et des caractères qui ont besoin de plusieurs unités de code. Prouver de ce serait de l'exécution de votre code sur une chaîne comme ""OriginalL'auteur user3003605 | 2013-12-01
Vous devez vous connecter pour publier un commentaire.
Je vous recommande fortement de passer par un tutoriel de base.
Vous pouvez tout simplement faire:
Et dans votre
main
, il vous suffit de:Noter que le méthode est
static
parce que vous faites référence à partir d'un statique de manière (main
méthode). Si vous ne voulez pas qu'il soit statique, vous aurez à y accéder via un objet.Noter également que c'est une bonne pratique de toujours avoir des accolades pour
for
boucles, même si elle contient une seule ligne.Vous avez posté des places, je ne sais pas ce que cela signifie. Et si c'est de la faute de frappe ou quelque chose de petit, de ne pas être mesquin, de le modifier. Le concept est clair et mon explication est claire (je suppose).
votre navigateur est également cassé, très probablement. Le Point est, vous renversent les unités de code, pas de caractères. Malheureusement,
charAt
est un abus de langage. Btw. StringBuilder.inverse ne fonctionne pas correctement (en Java 1.7, au moins)OP clairement dit qu'il ne veux pas utiliser ce. Notez aussi que je ne fait que répondre à sa question. Sa question n'était pas à propos de la mise en œuvre, il était sur le remplacer le code et le mettre dans une méthode. Votre downvote n'est pas pertinent.
Je vois, et pourtant la charAt solution n'est pas correcte, et c'est une mauvaise chose pour perpétuer la non-Unicode conscient de la chaîne des habitudes de traitement.
OriginalL'auteur Maroun
Mais pour la grande chaîne de l'ajout de caractère avec
+
opérateur peut être inefficace. Et l'inversion de la chaîne avec l'approche ci-dessus entraînera mal pour uni-code d'erreur. Comme il inverse les unités de code, mais pas de caractère. Il y a effectivement une prise en charge intégrée disponible pour inverser une chaîne de caractères à l'aide deStringBuilder
qui fonctionne correctement:La première solution doit être correct aussi. Eh bien j'ai malencontreusement mis un supplément de
{
après lafor
déclaration :P. Parce que j'ai directement écrit tout le code dans l'éditeur de texte de postNon, il n'est pas. Essayez sur ""
je suis incapable de copier le texte dans mon ide mais il semble que je suis en mesure de vous attraper, vous parlez d'uni-code d'erreur. hmm
Oui, mais alors votre IDE est probablement aussi brisé (ou vous n'avez pas de source codage qui permet). Mais vous pouvez peut-être construire une chaîne qui ne fonctionne pas à l'aide de la "charmap" utilitaire de votre système.
OriginalL'auteur Sage
Quelque chose comme ceci:
OriginalL'auteur duffymo
dans les principaux appeler la fonction
essayez-le maintenant .. il devrait fonctionner .. comme je l'ai écrit d'origine et de le transmettre org
Ce n'est pas le problème, et je ne suis pas OP 🙂 Le problème, c'est que votre méthode ne retourne rien...
Encore ne compile pas.. vous n'avez pas de retour de quoi que ce soit..
rendre nulle n'chaîne .. si vous voulez retourner le résultat pas l'impression que .. ensuite, la méthode doit être la Chaîne et a instruction de retour
OriginalL'auteur Kareem Hashem
essayez ce qui suit:
OriginalL'auteur parag.rane
OriginalL'auteur cynthia vidolo