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