欢迎来到天天文库
浏览记录
ID:27101625
大小:405.51 KB
页数:75页
时间:2018-12-01
《基于文本的应用教学》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十课:基于文本的应用周甫zoofchow@hotmail.com学习目标命令行参数1系统属性2操作文件3数学类4www.ITjob.com学习目标String和StringBuffer类5集合、列表、迭代器、映射6排序7www.ITjob.com1程序交互的几种方式程序在运行的时候,我们要给程序输入数据,程序根据输入的数据作出响应。常见的输入方式有:命令行参数系统属性标准的输入从文件读入www.ITjob.com实例分析1问题的描述:通过命令行参数给程序输入数据解决方案:当一个Java应用程序从终端启动时,用户可以提供零个或多个命令行参数。这些命令行参数都是字符串
2、,这些字符串可以是独立的记号(如:arg1),也可以是引号之间的多个符号("anotherarg")。参数序列跟在程序类的名字后面输入;然后被存放在String对象的数组中,传递给main方法。www.ITjob.com实例分析1(续一)代码如下:classTestArgs{publicstaticvoidmain(String[]args){for(inti=0;i3、性给程序传入数据解决方案:系统属性是另外一种在运行时向程序传递参数的机制。每个属性都是一个属性名和属性值的映射对。属性名和属性值都是字符串。Properties类表示这样的映射。System.getProperties方法返回系统的属性对象。System.getProperties(String)方法返回String属性的值。System.getProperties(String,String)方法允许你在属性名不存在时返回默认值。你可以使用递归调用PropertyNames方法遍历全部属性名的集合;对每个属性名调用getProperty方法得到所有属性的值。www4、.ITjob.com实例分析2(续一)代码如下:importjava.util.*;classTestSP{//SystemPropertiespublicstaticvoidmain(String[]args){Propertiesp=System.getProperties();//第4行Enumeratione=p.propertyNames();//第5行while(e.hasMoreElements()){Stringname=(String)e.nextElement();if(name.equals("aaa")){Stringvalue=p.getP5、roperty(name);System.out.println("name:"+name+"value:"+value);}}}}分析:第4行取得系统属性的集合,第5行从属性集合中得到属性名的枚举.www.ITjob.com实例分析2(续二)结果:运行:java-Daaa=345TestSP//-D后面是属性的名字,=后面是属性的值,注意是大写的Dwww.ITjob.com实例分析3问题描述:标准的输入解决方案:多数应用都会发生人机交互。人机交互经常通过控制台文本输入/输出来完成。Java2SDK用公有类java.lang.System支持控制台I/O。Syste6、m.out是一个PrintStream对象,它指向运行Java应用程序的终端窗口。System.in是一个InputStream对象,它指向用户的键盘。www.ITjob.com实例分析3(续一)代码:importjava.io.*;classTestKI//KeyboardInput{publicstaticvoidmain(String[]args){Strings;//进行字符串的包装,就可以读取一行字符串InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBuffe7、redReader(isr);System.out.println("按ctrl+c键或者输入exit退出程序!");www.ITjob.com实例分析3(续二)try{s=br.readLine();while(s!=null&&!s.equals("exit")){System.out.println("Read:"+s);s=br.readLine();}br.close();}catch(IOExceptione){e.printStackTrace();}}}www.ITjob.com实例分析3(续三)运行:www.ITjob.com实例分析4问题的描
3、性给程序传入数据解决方案:系统属性是另外一种在运行时向程序传递参数的机制。每个属性都是一个属性名和属性值的映射对。属性名和属性值都是字符串。Properties类表示这样的映射。System.getProperties方法返回系统的属性对象。System.getProperties(String)方法返回String属性的值。System.getProperties(String,String)方法允许你在属性名不存在时返回默认值。你可以使用递归调用PropertyNames方法遍历全部属性名的集合;对每个属性名调用getProperty方法得到所有属性的值。www
4、.ITjob.com实例分析2(续一)代码如下:importjava.util.*;classTestSP{//SystemPropertiespublicstaticvoidmain(String[]args){Propertiesp=System.getProperties();//第4行Enumeratione=p.propertyNames();//第5行while(e.hasMoreElements()){Stringname=(String)e.nextElement();if(name.equals("aaa")){Stringvalue=p.getP
5、roperty(name);System.out.println("name:"+name+"value:"+value);}}}}分析:第4行取得系统属性的集合,第5行从属性集合中得到属性名的枚举.www.ITjob.com实例分析2(续二)结果:运行:java-Daaa=345TestSP//-D后面是属性的名字,=后面是属性的值,注意是大写的Dwww.ITjob.com实例分析3问题描述:标准的输入解决方案:多数应用都会发生人机交互。人机交互经常通过控制台文本输入/输出来完成。Java2SDK用公有类java.lang.System支持控制台I/O。Syste
6、m.out是一个PrintStream对象,它指向运行Java应用程序的终端窗口。System.in是一个InputStream对象,它指向用户的键盘。www.ITjob.com实例分析3(续一)代码:importjava.io.*;classTestKI//KeyboardInput{publicstaticvoidmain(String[]args){Strings;//进行字符串的包装,就可以读取一行字符串InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBuffe
7、redReader(isr);System.out.println("按ctrl+c键或者输入exit退出程序!");www.ITjob.com实例分析3(续二)try{s=br.readLine();while(s!=null&&!s.equals("exit")){System.out.println("Read:"+s);s=br.readLine();}br.close();}catch(IOExceptione){e.printStackTrace();}}}www.ITjob.com实例分析3(续三)运行:www.ITjob.com实例分析4问题的描
此文档下载收益归作者所有