java - 向后打印字符串中的单词

标签 java string for-loop

所以我的计算机科学课遇到了一些麻烦。我需要编写一些代码,该代码将获取一个字符串并以相反的字序向后打印它。他告诉我找到一个空白区域,然后从那里打印,然后继续搜索......并重复此操作直到字符串末尾。我输入了代码,它只打印了第一个单词 3 次。我知道这对你们来说可能是显而易见的。

public class Backwords

/* 
 * Gets words from main and prints in reverse order
 */
public static String BackwardsString(String str)
{

    String str1 = (" " + str);
    String answer = (" ");
    int lastpos = str1.length();
    for(int currpos = str.length(); currpos >= 0; currpos--) //shazam
    {
        if (str1.charAt(currpos) == ' ')
        {
            for (int p = currpos+1; p <lastpos; p++) //majicks

            answer = answer + str1.charAt(p);
            lastpos = currpos;
            System.out.println(answer);
        }

    }
    return answer;
}
public static void main(String [] args)
{
    System.out.println("Enter a string : ");
    Scanner firststr = new Scanner(System.in); //gets string input
    String str = firststr.next();
    System.out.println(BackwardsString(str));

}

}

最佳答案

在第二个嵌套 for 循环之前将答案设置回 answer = ""

for(int currpos = str.length(); currpos >= 0; currpos--) //shazam
    {
        if (str1.charAt(currpos) == ' ')
        {
            answer = "";
            for (int p = currpos+1; p <lastpos; p++) //majicks

                answer = answer + str1.charAt(p);
            lastpos = currpos;
            System.out.println(answer);
        }

    }

关于java - 向后打印字符串中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25994475/

相关文章:

c# - 如何在 C# 中将字符串转换为位

javascript - 使用 javascript 查询字符串

java - 在两个不同域上运行的Grails应用

java - Netty 性能

java - XSLT 调用嵌入了 XML 的 java

C 表示法 : pointer to array of chars (string)

Java/HTML - 抛出 InvokingTargetException

c++ - 为什么程序会跳过带有字符串数组和 cin/cout 的 for 循环

c - 将 for 循环放入三元运算中

c# for 循环在 switch/case 情况下 - 如何?