题目

题目链接
Move the first letter of each word to the end of it, then add “ay” to the end of the word. Leave punctuation marks untouched.
Examples

pigIt('Pig latin is cool'); // igPay atinlay siay oolcay
pigIt('Hello world !');     // elloHay orldway !

Tests:

public class SolutionTest {@Testpublic void FixedTests() {assertEquals("igPay atinlay siay oolcay", Kata.pigIt("Pig latin is cool"));assertEquals("hisTay siay ymay tringsay", Kata.pigIt("This is my string"));assertEquals("ctaAay steay abulafay", Kata.pigIt("Acta est fabula"));assertEquals("arbaBay onnay acitfay hilosophumpay", Kata.pigIt("Barba non facit philosophum"));assertEquals("ctaAay steay abulafay", Kata.pigIt("Acta est fabula"));assertEquals("ucullusCay onnay acitfay onachummay", Kata.pigIt("Cucullus non facit monachum"));assertEquals("uraDay exlay edsay exlay", Kata.pigIt("Dura lex sed lex"));assertEquals("rrareEay umanumhay steay", Kata.pigIt("Errare humanum est"));assertEquals("luctuatFay ecnay ergiturmay", Kata.pigIt("Fluctuat nec mergitur"));assertEquals("uttaGay avatcay apidemlay", Kata.pigIt("Gutta cavat lapidem"));assertEquals("icHay teay uncnay", Kata.pigIt("Hic et nunc"));assertEquals("nIay inovay eritasvay", Kata.pigIt("In vino veritas"));assertEquals("uxLay niay enebristay ucetlay", Kata.pigIt("Lux in tenebris lucet"));assertEquals("orituriMay olumusnay orimay", Kata.pigIt("Morituri nolumus mori"));assertEquals("orituriMay olumusnay orimay", Kata.pigIt("Morituri nolumus mori"));assertEquals("uncNay steay ibendumbay", Kata.pigIt("Nunc est bibendum"));assertEquals("Oay emporatay oay oresmay !", Kata.pigIt("O tempora o mores !"));assertEquals("anemPay teay ircensescay", Kata.pigIt("Panem et circenses"));assertEquals("uisQay ustodietcay psosiay ustodescay ?", Kata.pigIt("Quis custodiet ipsos custodes ?"));assertEquals("equiescatRay niay acepay", Kata.pigIt("Requiescat in pace"));assertEquals("icSay ransittay loriagay undimay", Kata.pigIt("Sic transit gloria mundi"));assertEquals("imeoTay anaosDay teay onaday erentesfay", Kata.pigIt("Timeo Danaos et dona ferentes"));assertEquals("ltimaUay ecatnay", Kata.pigIt("Ultima necat"));assertEquals("eniVay idivay icivay", Kata.pigIt("Veni vidi vici"));}}

实现思路

简单的字符串操作

代码

public class PigLatin {public static String pigIt(String str) {StringBuffer sb = new StringBuffer();String[] splitStr = str.split(" ");for (int i = 0; i < splitStr.length; i++) {char[] chars = splitStr[i].toCharArray();if (chars.length == 1 && !((chars[0] >= 97 && chars[0] <= 122) || (chars[0] >= 65 && chars[0] <= 90))) {sb.append(chars[0]);} else {for (int j = 1; j < chars.length; j++) {sb.append(chars[j]);}sb.append(chars[0]);sb.append("ay");sb.append(" ");}}return sb.toString().trim();}
}

(codewars)Simple Pig Latin相关推荐

  1. java程序员的大数据之路(14):Pig Latin

    结构 一个Pig Latin程序由一组语句构成,一个语句可以理解为一个操作,或一个命令.语句必须以分号结束. Pig Latin有两种注释方法,双减号表示单行注释.多行注释可以使用/* 和 */表示. ...

  2. 【Codewars】Simple Pig Latin

    Codewars里的 5kyu Kata. 题目说明: Move the first letter of each word to the end of it, then add "ay&q ...

  3. java程序员的大数据之路(15):Pig Latin用户自定义函数

    过滤函数 所有的过滤函数都要继承FilterFunc类,并且实现抽象方法exec(),该方法的返回类型为Boolean. 示例代码如下: package com.udf.filter;import o ...

  4. Simple Pig Latin - 简单的猪拉丁文

    我的个人博客 更多内容,请跳转我的个人博客 题目 Simple Pig Latin 简单的猪拉丁文 描述 Move the first letter of each word to the end o ...

  5. H323plus的学习使用(2)——simple实现音视频通话

    H323plus的学习使用(2)--simple实现音视频通话 但该文章的解释大多不够详细,而且使用的版本不同,编译安装的环境也不同,导致了文章中所说的解决方法并不能够十分完美地解决,本人在按照该文章 ...

  6. java程序员的大数据之路(13):Pig入门

    Pig简介 Pig为大型数据集的处理提供了更高层次的抽象. Pig包括两部分: 用于描述数据流的语言,称为Pig Latin. 用于运行Pig Latin程序的执行环境.当前有两个环境:单JVM中的本 ...

  7. 有限体积法(12)——SIMPLE算法

    承接上篇<交错网格>,本文介绍流动方程在交错网格上的离散以及SIMPLE算法. 方程离散 二维稳态的动量方程和连续性方程如下: ∂∂x(ρuu)+∂∂y(ρvu)=∂∂x(μ∂u∂x)+∂ ...

  8. simple fsm状态机模板应用笔记(二)——simple fsm语法规则

    原文地址:https://www.amobbs.com/thread-5668532-1-1.html 如何使用 1. 如何定义一个状态机 语法: simple_fsm( <状态机名称>, ...

  9. Google blockly简介(一)Simple Blockly操作

    谷歌官网的有一些比较简单的demo,大家可以试一下. https://developers.google.cn/blockly/guides/configure/web/fixed-size 一.包括 ...

最新文章

  1. 上海集成电路材料研究院-面试经历-取消面试
  2. python中的event_Python event
  3. xpath选择当前结点的子节点
  4. PyCharm——Youki觉得好用的快捷键~
  5. 从零开始学Koa2(一)
  6. 华为算法精英赛(题1:判断输入天数为当年的第几天)
  7. hibernate 镜像下载_虚拟光驱软件下载手机版-虚拟光驱免费中文版64位下载v5.8.0...
  8. noip2013解题报告
  9. 普林斯顿微积分读本篇十七:数列和级数,泰勒定理
  10. windows2008R2新增磁盘处于脱机状态及介质写入受保护解决办法
  11. PHP字符串函数stripslashes(反引用一个addslashes转义的字符串)
  12. 经典算法:鸡蛋掉落问题
  13. QGIS官方样式库首现来自中国的贡献——国土空间规划样式库和分区配色表
  14. spark scala 求整列的总和值
  15. 大数据破获网售假耐克案
  16. mysql 两表连接删除数据库_Mysql (二)Mysql 数据库表增删改查
  17. DevpTips【golang】安装到测试
  18. Java 往文件中写数据,新写入的数据总是覆盖原有数据
  19. 采集需要登录后的网页(重定向后cookie丢失问题)
  20. fir 滤波参数的含义_FIR滤波器原理

热门文章

  1. 设计模式之: 享元模式
  2. 干货 | 80篇+网络安全面试经验帖
  3. Ubuntu 11.04 更新源(ubuntu yuan)
  4. VS Code + GCC 搭建 STM32 开发环境
  5. 手机网站一键秒变App?详细教程来了
  6. python如何期货交易_能用python的期货交易软件
  7. 对Git用户名与Github账户关系的理解
  8. 天润融通牵手葵网新保险电销青睐云呼叫
  9. 硬盘函数不正确怎么解决
  10. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解