用java写一个程序要求用户输入一句子然后将句子中每个字第一个字母移到末尾,并加上“ay”

写一个程序,该程序要求用户输入一句句子,然后将这句句子中的每一个字都转换成密语。密语的版本之一是你将字的第一个字母移到该字的末尾,然后在末端加上“ay”,例如:句子ISL... 写一个程序,该程序要求用户输入一句句子,然后将这句句子中的每一个字都转换成密语。密语的版本之一是你将字的第一个字母移到该字的末尾,然后在末端加上“ay”,例如:

句子 I SLEPT MOST OF THE NIGHT
密语 IAY LEPTSAY OSTMAY FOAY HETAY IGHTNAY

要求:必须使用StringTokenizer类进行分词,分词所得的词元必须存放在StringBuilder数组中。
展开
 我来答
johawea
推荐于2016-12-01 · 超过22用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:57.5万
展开全部
  代码如下:
说明:转换密语可以庆团用一个函数处理,输入是字符串,输出是字符串。分词所得存放于其他数据类型可以下一步处扮差谨理。如果用数组,需要先确定数组长度(定义一个足够大的数组是不严谨的java编程风格),所以只能在最后面进行转换。厅基List不定长,可以暂时用来保存数据。全部词元处理完之后可以进行转化。List和数组可以很方便的相互转化。

public class TokenizerApp {
  public static String encode(String routeStr){
  String firstLetter = "";
  String resultStr = "";
  if(routeStr.length()==0){
  return "";//or throw exception
  }
  else if(routeStr.length()==1){
  return routeStr+"ay";
  }else{
  firstLetter = routeStr.substring(0, 1);
  resultStr = routeStr.substring(1);
  resultStr = resultStr+firstLetter+"ay";
  return resultStr;
  }
  }
  public static void main(String[] args) {
  StringTokenizer st = new StringTokenizer("I SLEPT MOST OF THE NIGHT");
  List<StringBuilder> resultStrSet = new ArrayList<StringBuilder>();
  StringBuilder temp = null;
  String tempStr = "";
  while (st.hasMoreTokens()) {
  temp = new StringBuilder();
  tempStr = st.nextToken();
  System.out.println(tempStr);
  temp.append(encode(tempStr));
  resultStrSet.add(temp);
  }
  StringBuilder[] resultSet = new StringBuilder[resultStrSet.size()];
  resultStrSet.toArray(resultSet);
  System.out.println(" now print out zhe encoded string:");
  for(int i = 0; i<resultSet.length;i++){
  System.out.println(resultSet[i]);
  }
  }
  }
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式