java - 颠倒句子中的每个单词..变化不会出现

标签 java

这是一个简单的程序,用于反转字符串的每个单词并打印...我不知道这出了什么问题...请帮助

import java.util.Scanner;


public class ReverseWordCapitalizeFirstCharacter {


    public static void reverse(char a[], int start, int  end)
    {   
        while(start<end)
        {
        char temp = a[start];
        a[start] = a[end];
        a[end] = temp;
        start++;
        end--;
        }
    }

    public static void main(String[] args) {

        System.out.println("Enter the string");
        Scanner sc = new Scanner(System.in);
        String str = sc.next();

        char a[] = new char[str.length()];
        a = str.toCharArray();
        int wordStartIndex = 0;

        for(int i=0; i<a.length; i++)
        {
                if(a[i] == ' ')
                {  
                    reverse(a,wordStartIndex,i-1);  
                     wordStartIndex = i+1;
                }

        }

        for(int i=0; i<a.length; i++)
        {
            System.out.print(a[i]);
        }

    }

}

我将字符数组作为参数传递给反转每个单词的函数..

最佳答案

这不是因为 sc.next() 只返回下一个单词吗? 因此,您永远不会在字符串中遇到“”,因此您永远不会调用反向方法。尝试使用 sc.nextLine();或许。

关于java - 颠倒句子中的每个单词..变化不会出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35599614/

相关文章:

java - 渗透 : java. sql.SQLException : Access denied for user 'root' @'localhost' (using password: YES). 如何不使用密码?

java - 在由 recyclerView 制作的图像 slider 中添加下一个、上一个按钮

java - Spring Security - 多种配置 - 添加 LogoutHandler

java - 如何拆分内部有数组的以下字符串

java - 重写 equals 和 hashcode 忽略大小写?

java - 将字体高度设置为 float ,而不是整数

java - URI 中的非法字符

java - LIbGDX 当语言改变时如何翻译所有文本?

java - EXI 获取 JAXB 解码器

Java:在文本文件中搜索特定单词