实验9 常用系统类(2)
import java.io.*;
public class ListWords {
public static void main(String[] args) throws IOException { String line; char ch;
boolean isWord=false;
StringBuffer word=new StringBuffer(); System.out.println(\输入一行文本:\
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); line=br.readLine();
for ( int i = 0; i < line.length(); i++ ) { ch = line.charAt(i);
if ( Character.isLetter(ch) ) { word.append(ch); isWord=true; } else {
if ( isWord ) {
word.append(\ isWord=false; } } }
String x[]=word.toString().split(\System.out.println(\共有\个单词\ for (int n=0;n System.out.print(x[n]+ \ } } 【说明】一个单词的判断条件是已字母开头,后跟若干字母。也就是遇到非字母的单词即可断定为单词结束。为了便于处理,这里将所有单词拼接到一个串中,单词之间用逗号分隔。程序中引入了一个逻辑变量isWord来标记当前处理字符是否为单词的部分,是则标记为true,不是则标记为false。本例也演示了split方法的使用,可以很方便地将一个字符串按指定分隔符分离出子串并存放到数组中。 【编程技巧】 (1) 定义一个StringBuffer类对象拼接所有单词,单词之间用逗号分隔。 (2) 抓住单词的特点,是连续若干字母,所以遇到字母即可将其作为单词的组成部分插入StringBuffer中。 (3) 定义一个逻辑变量记录前面是否出现单词,如果出现,则逻辑变量为true,否则为false。在处理非字母字符时通过判断该逻辑变量确定是否应插入一个逗号到StringBuffer中。 (4) 利用循环扫描处理整个字符串,在处理完毕后再将StringBuffer中的所有内容转化为String类对象,利用Split方法按逗号分隔分离出单词存入数组中。 样例5: 利用向量记录实现学生管理,能支持学生对象的增加、删除操作,每个学生对象包括学号、姓名、性别。删除学生必须输入学生的学号。 可以设计一个操作菜单,包括“增加”、“删除”、“显示”、“退出”4个选项。 import java.io.*; import java.util.*; public class student { String name; long stno; String sex; public student(String name,long stno,String sex) { this.name=name; this.stno=stno; this.sex=sex; } public String toString() { return \姓名:\学号:\性别=\ } public static void main(String args[]) { Vector group=new Vector(); outer: while (true) { String ch=input(\选择:1-- 增加, 2---删除, 3- 显示,4--退出\ int choice=Integer.parseInt(ch); switch (choice) { case 1: group.add(inputStudent());break; case 2: long stno=Long.parseLong(input(\请输入学号:\ for (int k=0;k student x=(student)group.get(k); if ( x.stno==stno) group.removeElement(x); } break; case 3: Iterator p=group.iterator(); while (p.hasNext()) System.out.println(\ break; case 4: break outer; } } } /* 从键盘输入一个字符串 */ public static String input(String hint) { String x=null; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.println(hint); try { x=br.readLine(); }catch(IOException e) { } return x; } /* 从键盘输入一个学生 */ public static student inputStudent(){ String name=input(\请输入姓名:\ long stno=Long.parseLong(input(\请输入学号:\ String sex=input(\请输入性别:\ return new student(name,stno,sex); } } 【说明】 为了简化程序,设计了两个方法: String input(String hint) : 根据提示从键盘获取一个字符串; student inputStudent() :从键盘获取学生相关信息构造学生对象。 【编程技巧】 (1) 在输入数据的处理中编写方法,简化设计。 (2) 利用向量存储学生对象,查找数据时,要从向量中读取数据进行比较,获取对象时要强制转换才能赋给代表学生的引用变量。 (3) 程序演示了对向量的两种遍历处理方法。 9.4 上机练习 ² 基本题 1)设有一个由10个英文单词构成的字符串数组,要求: (1)统计以字母w开头的单词数; (2)统计单词中含“or”字符串的单词数; (3)统计长度为3的单词数。 2)输入一个算术表达式,例如:45*2+23*(234-24),求出其中有多少整常数。 3)创建一个程序,输出今天的年、月、日。 提示:创建一个java.util.Date类的对象代表当前的系统日期,使用对象的getYear()方法、getMonth()方法、getDay()方法可获得对应的年月日。 4)编写一个程序,用于计算 x op y这样的表达式的值,表达式从命令行输入,其中op 为 + - * / % 几种运算符之一,x和y代表两个实数。 5) 将以下程序补充完整 import java.util.Random; public class Java_2 { public static void main(String args[]){ Random random = new Random(); float x = random.nextFloat();//产生0.0与1.0之间的一个符点数 int n = Math.round(20*x); //构造20以内的一个整数 long f = 1 ; //保存阶乘的结果 int k = 1 ; //循环变量 //*********Found******** do {__________; k++; //*********Found******** }__________ System.out.println(n+\ } } 6) 将以下程序补充完整 //Java_1.java,字符串类的startsWith()和endsWith()方法 import javax.swing.*; public class Java_1 { public static void main( String args[] ){ String strings[] = { \ String output = \ //测试startsWith()方法 for ( int i = 0; i < strings.length; i++ ) if ( strings[ i ].startsWith( \ output += \开始于 \\\ output += \ //从字符串第2个字符开始 for ( int i = 0; i < stri
…… 此处隐藏:2937字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




