【问题标题】:Get the first letter of a word and bring it to the end获取单词的第一个字母并将其带到结尾
【发布时间】:2014-01-04 11:43:37
【问题描述】:

如何获取单词的第一个字母并将其带到结尾?

【问题讨论】:

  • 请查看您的帖子,注意有问题,然后正确格式化。
  • 我们将不胜感激

标签: java for-loop substring charat


【解决方案1】:

你每次都取ith 字母,而你应该每次取第一个索引为0 的字母。改变

firstLetter = word.charAt(i);

firstLetter = word.charAt(0);

【讨论】:

  • 我只是在确定,所以 word+=firstletter 使单词转到单词右侧的第二个字母。
  • 不完全。执行word = word.substring(1, word.length()); 有效地去除了单词的第一个字母,您已经在之前的行中确定了firstLetter = word.charAt(i);。然后word += firstLetter; 有效地将第一个字母附加到单词的末尾。总而言之,这 3 行创建了您的目标“环绕”移动效果。
【解决方案2】:

这样的?

word = "test";
newWord = word.substring(1) + word.substring(0, 1);

【讨论】:

    【解决方案3】:
        for (int i = 0; i < word.length(); i++) {
            firstLetter = word.charAt(0);
            word = word.substring(1, word.length());
            System.out.println(firstLetter + word);
    
            word += firstLetter;
        }
    

    【讨论】:

      【解决方案4】:

      一种截然不同的方法:让单词保持原样,并根据子字符串遍历排列。毕竟:“omputerc”就是[omputer] + [c],就是[c][omputer]交换的;下一个迭代是“mputerco”,它只是 [mputer] + [co],或 [co][mputer] 交换,依此类推:

      String head, tail;
      for (int i = 0, last = word.length()-1; i<last; i++) {
        head = word.substring(0,i);
        tail = word.substring(i,last);
        System.out.println(tail + head);
      }
      

      我们让单词保持原样,抓取头部和尾部子字符串,并以相反的顺序打印它们,从而准确生成您需要的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 2011-12-13
        • 1970-01-01
        • 1970-01-01
        • 2013-11-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多