Para mi programa quiero invertir las letras en una línea de texto. Sin embargo, no quiero invertir el orden de las palabras en la frase.
Por ejemplo, cuando yo de entrada: «Esto es una cadena»

Puedo obtener: gnirts si siht

Pero quiero: siht si un gnirts

public static String reverseWordCharacters(String text1) {
        String reverse = "";
        int length = text1.length();
        for (int i = length - 1; i >= 0; i--) {
            reverse = reverse + text1.charAt(i);
            System.out.println();
        }
        return reverse;
    }

}
  • Así que lo has intentado?
  • Huele a la tarea con esas restricciones…..
  • Exactamente por eso es que yo siempre lo he hecho hasta ahora
InformationsquelleAutor user3442748 | 2014-03-25

7 Comentarios

  1. 3
    String sentence = "This is a string";
    String[] words = sentence.split(" ");
    String invertedSentece = "";
    for (String word : words){
        String invertedWord = "";
        for (int i = word.length() - 1; i >= 0; i--)
            invertedWord += word.charAt(i);
        invertedSentece += invertedWord;
        invertedSentece += " ";
    }
    invertedSentece.trim();
    • Para frases largas/entradas, una StringBuffer sería más apropiado para invertedSentence. Busque también en StringUtils para revertir las cadenas.
    • Sin embargo ten cuidado: Este código sólo funciona si usted no tiene multi-punto de código de letras. Si usted tiene, se produce hilaridad.
    • Gracias por el aviso
  2. 1

    Esta puede ser la manera más fácil

    import java.util.*;
    public class ReverseString{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter any Sentence: ");
        String sentence = sc.nextLine();
        String[] stringArray = sentence.split(" ");
        for(int i = 0; i<stringArray.length; i++){
            String temp = new StringBuilder(stringArray[i]).reverse().toString();
            System.out.print(temp+" ");
        }
        }
    }
  3. 0
    private static String revWrord(String s) {
           LinkedList word = new LinkedList();
           Scanner scanfs = new Scanner(s);
    
            while(scanfs.hasNext()) {
                word.add(scanfs.next());
            }
    
            StringBuilder output = new StringBuilder();
            StringBuilder temp = new StringBuilder();
    
            while(true) {
                temp.append(word.poll()).reverse();
                output.append(temp);
                temp.delete(0,temp.length() );
    
                if(word.isEmpty()) {
                    break;
                } else {
                    output.append(" ");
                }
            }
            return output.toString();
    }
    • por favor, proporcione una explicación de su código
    • Después de recibir una frase que separar la palabra y la puso en linkedlist como cola. A continuación, Tomar la palabra y a la inversa, después de que anexar que en la salida a construir de nuevo la frase, pero a la inversa de la palabra. de entrada como: me Encanta Bangladesh. salida: I evoL hsedalgnaB
  4. 0
    public static void main(String[] args) {
    String s= "This is a string";
    System.out.println(s);
    String finalrevresestring = "";
    String wordreverse = "";
    String[] a = s.split(" ");
    for (int i = 0; i<=a.length-1; i++) {
        for (int x=a[i].length()-1; x>=0; x--) {
            wordreverse += a[i].charAt(x);
        }
        finalrevresestring += wordreverse;
        finalrevresestring += " ";
        wordreverse = "";
        }
    System.out.println("This is reverse: "+finalrevresestring);
    }
    • Algunas de texto explicando su respuesta para que la gente pueda ver por qué es una respuesta mejor y darle un voto sería de gran ayuda. Sólo el código de respuestas no siempre son lo suficientemente buenos. Por favor, utilice el editar para mejorar su respuesta.
  5. -1
    {
            String sentence="This is String";
            String[] words=sentence.split(" ");
            String inverted=" ";
            for(String eachWord : words){           
                for(int i=0;i<eachWord.length();i++){
                    inverted+=eachWord.charAt(eachWord.length()-1-i);
                }
                inverted+=" ";
    }
            System.out.println("Inverted words in the given sentence is :"+inverted);
        }
  6. -1
    StringBuffer s=new StringBuffer("I live in India");
    int i=0,j=0,w=0;
    //w is first position of word
    //j is last position of word
    
    while(i<s.lenght){
    
    if(s.charAt[i]==" "||i==s.lenght()-1)
    {
    j=i;
    if(i==s.length-1)
    j=i;
    else
    j--;
    
    swapMethod(w,j);
    w=i+1;
    }
    i++;
    }
    • Yo iba a mejorar el código de espacios en blanco, pero ni siquiera le has escrito length correctamente, por lo que esto no incluso compilar.

Dejar respuesta

Please enter your comment!
Please enter your name here