gpt4 book ai didi

java - 在java中使用for循环或while循环将句子分割成单词

转载 作者:行者123 更新时间:2023-12-01 14:34:29 31 4
gpt4 key购买 nike

我必须做一个程序,它接受一个句子并用java逐字颠倒它。例如:印度是我的国家

输出:aidnI si ym yrtnuoc

我已经弄清楚了所有这些,但我只是无法将一个句子分成单独的单词。我不允许使用 split 函数,但我打算使用 substring 或 indexof();允许 while 循环和 for 循环。这是我到目前为止得到的:

导入java.io.*;

公开课Rereprogram10

{

public void d()throws IOException

{

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str;

System.out.println("input a string");


str=br.readLine();

String rev="";
int length=str.length();
int counter=length;
for(int i=0;i<length;i++)
{
rev=rev+str.charAt(counter-1);
counter--;
}
System.out.println("the result is: "+rev);
}

}

虽然它是错误的,但输出不断出现:木霉我还没学过数组...

最佳答案

我假设高级数据结构已经过时,效率不再是问题。

错误的地方是你反转了整个字符串,你只需要反转单词。因此,您确实需要检查以找到单词的结尾位置,然后要么反转它,要么一边继续一边反转它。

这是一个边走边倒的例子。

int length=str.length();
String sentence="";
String word = "";
for(int i=0;i<length;i++) {
if (str.charAt(i) != ' '){
word = str.charAt(i) + word;
} else {
sentence += word +" ";
word = "";
}
}
sentence += word;
System.out.println("the result is: "+sentence);

关于java - 在java中使用for循环或while循环将句子分割成单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16601367/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com