【发布时间】:2018-03-14 06:13:09
【问题描述】:
我正在编写一个家庭作业代码,我们必须使用一个 char 数组来保存一个句子并反转数组的顺序,以便单词在 java 中的顺序相反,例如“我是一个房子”应该输出“房子是我吗?”我被困在如何实际单步执行并排序数组,因此单词按此顺序排列,任何提示都会有所帮助。
我的代码反转了整个数组,但它没有逐字反转
if(sentence.length%2 == 0)
{
int middleR = sentence.length/2;
int middleL = middleR - 1;
for(int i = middleR; i < sentence.length; i++)
{
char temp = sentence[i];
sentence[i] = sentence[middleL];
sentence[middleL] = temp;
middleL--;
}
}
else
{
int middle = sentence.length/2;
int end = sentence.length -1;
for(int i = 0; i < middle;i++)
{
char temp = sentence[i];
sentence[i] = sentence[end];
sentence[end] = temp;
end --;
}
}
【问题讨论】:
-
到目前为止你尝试过什么?您可以发布任何代码 sn-ps 吗?
-
为什么您认为您的代码可能不仅仅只是反转所有文本?您是在问为什么您的代码没有产生您期望的输出,或者是算法产生的结果?
-
反转整个数组;然后找到单词边界并分别反转数组的每个部分。