请教一条题目

cf527085608 2009-11-17 07:45:24
/********************************************************************************************
第6章习题6
从键盘输入几行文本做如下处理:
(1) 显示各元音字母出现的次数。
(2) 统计各个单词的长度。

********************************************************************************************/


大概有几个难点吧
1,如何设计从键盘输出几行问题,只要我一按enter,换行的话,程序就运行了,我不知道怎么换行;
2,几行输入结束如何判断输入已结束


以下是我写的,但是还是不能达到要求,请高人指点,谢谢
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class TestString2 {
public static void main(String args[]) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null,wordCount[]=null;
int num = 0, k = 0; // 统计元音字母出现的次数
while (true) {
try {
line = br.readLine(); // 从键盘上读取一行
} catch (Exception e) {
e.printStackTrace();
}
if (line != null) { // 遇到文件末尾,本程序以ctrl+z结束
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
Character.toUpperCase(c);
if (c == 'A' || c == 'E' || c == 'I' || c == 'O'
|| c == 'U')
num++;
}
StringTokenizer token = new StringTokenizer(line);
int l=token.countTokens();
wordCount=new String[l];
while (token.hasMoreTokens()) {
wordCount[k] = token.nextToken();
System.out.println(wordCount[k] + " 长为:"
+ wordCount[k].length());
k++;
}
} else
break;
}

System.out.println("元音字母出现的次数为:"+num);

}
}


谢谢~~~
...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hardycheng 2009-11-17
  • 打赏
  • 举报
回复
可以用循环,如果连续两次获得的都是回车,即空串,那么可以当做输入结束。
Henticton 2009-11-17
  • 打赏
  • 举报
回复
死循环内做的事情: 读取键盘每行输入信息,验证是否为特定字符串(如<over>),不是则把此行内容追加到存放所有内容的String中,再重新循环,提示输入信息. 如果收到的是结束信息,则break跳出循环.

然后把所收集到的String进行处理..

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧