Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按相反顺序连续打印单词?_Java - Fatal编程技术网

Java 按相反顺序连续打印单词?

Java 按相反顺序连续打印单词?,java,Java,任务: 编写一个程序来显示这样的输出,其中输入在运行时给出 样本输入: 我的名字是拉格哈文德拉 样本输出: ym名称si raghavendra 以下是我到目前为止的情况: import java.util.*; class ReverseString2 { public static void main(String[] args) { Scanner sc = new 根据你的问题,我会使用StringBuilder。因为,当索引为偶数时,它有一个有用的函数。我相

任务:

编写一个程序来显示这样的输出,其中输入在运行时给出

样本输入:

我的名字是拉格哈文德拉 样本输出:

ym名称si raghavendra 以下是我到目前为止的情况:

import java.util.*;

class ReverseString2 {
    public static void main(String[] args) {
        Scanner sc = new

根据你的问题,我会使用StringBuilder。因为,当索引为偶数时,它有一个有用的函数。我相信你想要像这样的东西

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while (sc.hasNextLine()) {
        String line = sc.nextLine();
        // The \\s+ pattern matches one or more white-space characters.
        String[] words = line.split("\\s+");
        for (int i = 0; i < words.length; i++) {
            if (i != 0) {
                System.out.print(' ');
            }
            StringBuilder sb = new StringBuilder(words[i]);
            // Reverse every other word.
            if (i % 2 == 0) {
                sb.reverse();
            }
            System.out.print(sb);
        }
        System.out.println();
    }
}

另一个解决方案是使用charAt。代码看起来与此类似:

public String invertEvenWords(String line) {     

    String result = "";
    String[] words = line.split("\\s+");

    for (int i = 0; i < words.length; i++) {

        /* The n-th word is reversed if n i even. */
        if (i % 2 == 0) {
            String inv = "";
            for (int j = 0; j < words[i].length(); j++) {
                char ch = words[i].charAt(j);
                inv = ch + inv;
            }
            result += inv + " ";

        /* Otherwise the word isn't reversed. */
        } else {
            result += words[i] + " ";
        }
    }

    return result;

}

这就是不提问的方式!!请正确格式化您的问题,并显示您尝试过的不起作用的内容