【问题标题】:Reverse Char Array [duplicate]反向字符数组 [重复]
【发布时间】: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 吗?
  • 为什么您认为您的代码可能不仅仅只是反转所有文本?您是在问为什么您的代码没有产生您期望的输出,或者是算法产生的结果?
  • 反转整个数组;然后找到单词边界并分别反转数组的每个部分。

标签: java arrays char


【解决方案1】:

将文本拆分为字符串数组(String.split),将数组放入List(Arrays.asList),将列表反转(Collections.reverse),从列表中获取String数组(List.toArray)

【讨论】:

    猜你喜欢
    • 2015-05-10
    • 2017-04-10
    • 2021-07-21
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多