java编程 谢谢大家!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:02:56
输入一串字符串 要输出保留数字 空格 标点 去掉元音字母 如果连续2个辅音字母相同的话去掉一个 还要输出你去掉啦几个字母 平均1个单词去掉几个字母 整个程序要循环 打y的时候继续下次 n结束程序 高手请进 谢谢!!!!!!!!用java编 谢谢!!!!!!!!

mark,有个疑问:例如“baby”结果是“by”还是“bby”?
目前处理方式如下: “babby”处理完是 “by”的。
此外还有一个小问题,如果你输入的行,最后是以空格结尾的,会多统计出一个字。

public class ConvertSentence {

private Stack stack; // 用于存放sentence

private Stack result; // 用于置换顺序

private char[] srcCharArray;

private static int countNumber = 0; // 用于记录删除的字符数

private static int wordNumber = 0; // 用于记录单词的数量,默认使用“ ” 分割单词

ConvertSentence(String srcSentence) {
srcCharArray = srcSentence.toCharArray();
if(null != srcCharArray && srcCharArray.length > 0) {
stack = new Stack();
for(int i=0,size=srcCharArray.length; i<size; i++) {
if(isVowel(srcCharArray[i])) {
countNumber++;
continue;
}else if(null != stack && !stack.isEmpty()) {
if(stack.peek().equals(srcCharArray[i])) {
countNumber++;
continue;
}else if(' ' == srcCharArray[i]) wordNumber++; // 单词数加