用java写一个程序要求用户输入一句子然后将句子中每个字第一个字母移到末尾,并加上“ay”
写一个程序,该程序要求用户输入一句句子,然后将这句句子中的每一个字都转换成密语。密语的版本之一是你将字的第一个字母移到该字的末尾,然后在末端加上“ay”,例如:句子ISL...
写一个程序,该程序要求用户输入一句句子,然后将这句句子中的每一个字都转换成密语。密语的版本之一是你将字的第一个字母移到该字的末尾,然后在末端加上“ay”,例如:
句子 I SLEPT MOST OF THE NIGHT
密语 IAY LEPTSAY OSTMAY FOAY HETAY IGHTNAY
要求:必须使用StringTokenizer类进行分词,分词所得的词元必须存放在StringBuilder数组中。 展开
句子 I SLEPT MOST OF THE NIGHT
密语 IAY LEPTSAY OSTMAY FOAY HETAY IGHTNAY
要求:必须使用StringTokenizer类进行分词,分词所得的词元必须存放在StringBuilder数组中。 展开
1个回答
展开全部
代码如下:
说明:转换密语可以用一个函数处理,输入是字符串,输出是字符串。分词所得存放于其他数据类型可以下一步处理。如果用数组,需要先确定数组长度(定义一个足够大的数组是不严谨的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]);
}
}
}
说明:转换密语可以用一个函数处理,输入是字符串,输出是字符串。分词所得存放于其他数据类型可以下一步处理。如果用数组,需要先确定数组长度(定义一个足够大的数组是不严谨的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]);
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询