JAVA程序设计PPT教学课件-JAVA常用类介绍.ppt_第1页
JAVA程序设计PPT教学课件-JAVA常用类介绍.ppt_第2页
JAVA程序设计PPT教学课件-JAVA常用类介绍.ppt_第3页
JAVA程序设计PPT教学课件-JAVA常用类介绍.ppt_第4页
JAVA程序设计PPT教学课件-JAVA常用类介绍.ppt_第5页
免费预览已结束,剩余56页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

常用类介绍,本章导读 1. string类 2. stringbuffer类 3. stringtokenizer类 4. 数组、向量、对象容器类 5. date类 6. calendar类 7. math类与biglnteger类,6.1 string类,java使用java.lang包中的string类来创建一个字符串变量,因此字符串变量是类类型变量,是一个对象。 1字符串常量 如 :“你好“、“1234.987“、“weqweo“。 2创建字符串对象 使用string类的构造方法创建字符串对象: 例如: string s; s=new string(“we are students“); 声明和创建可用一步完成: string s=new string(“we are students“); 也可以用一个已创建的字符串创建另一个字符串,如: string tom=string(s);,class example public static void main(string args ) string s1,s2; s1=new string(“we are students“); s2=new string(“we are students“); system.out.println(s1.equals(s2); system.out.println(s1=s2); string s3,s4; s3=“how are you“; s4=“how are you“; system.out.println(s3.equals(s4); system.out.println(s3=s4); ,string类还有两个较常用构造方法: (1)string (char a):用一个字符数组a 创建一个字符串对象,如: char a=b,o,y; string s=new string(a); (2)string(char a,int startindex,int count):提取字符数组a 中的一部分字符创建一个字符串对象,参数startindex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,例如: char a=s,t,b,u,s,n; string s=new string(a,2,3); 3引用字符串常量对象 字符串常量是对象,因此可以把字符串常量的引用赋值给一个字符串变量,4string 类的常用方法 (1)public int length() 使用string 类中的length()方法可以获取一个字符串的长度 (2)public boolean equals(string s) 字符串对象调用string类中的equals方法,比较当前字符串对象的实体是否与参数指定的字符串s的实体相同,(3)public boolean startswith(string s)、public boolean endswith(string s)方法 字符串对象调用startswith(string s)方法,判断当前字符串对象的前缀是否是参数指定的字符串s (4)public int compareto(string s)方法 字符串对象可以使用string类中的compareto(string s)方法,按字典序与参数s指定的字符串比较大小。如果当前字符串与s相同,该方法返回值0;如果当前字符串对象大于s,该方法返回正值;如果小于s,该方法返回负值。,(5)public int indexof (string s) 字符串调用方法indexof (string s)从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。字符串调用lastindexof (string s)方法从当前字符串的头开始检索字符串s,并返回最后出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。,(6)public string substring(int startpoint) 字符串对象调用该方法获得一个当前字符串的子串,该子串是从当前字符串的startpoint处截取到最后所得到的字符串。字符串对象调用substring(int start ,int end)方法获得一个当前字符串的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字符。 (7)public string replaceall(string old ,string new) 字符串对象s调用该方法可以获得一个串对象,这个串对象是通过用参数new指定的字符串替换s中由old指定的所有字符串而得到的字符串。 (8)public string trim() 一个字符串s通过调用方法trim()得到一个字符串对象,该字符串对象是s去掉前后空格后的字符串。,5字符串与基本数据的相互转化 java.lang包中的integer类调用其类方法: public static int parseint(string s) 可以将“数字”格式的字符串,如“12387”,转化为int型数据。 类似地,使用java.lang包中的byte、short、long、float、double类调相应的类方法: public static byte parsebyte(string s) public static short parseshort(string s) public static long parselong(string s) public static double parsedouble(string s) public static double parsedouble(string s) 可以将“数字”格式的字符串,转化为相应的基本数据类型。,有时,我们需要将数字转化为字符串,可以使用string 类的下列类方法: public string valueof(byte n) public string valueof(int n) public string valueof(long n) public string valueof(float n) public string valueof(double n) 6对象的字符串表示 在子类中我们讲过,所有的类都默认是java.lang包中object类的子类或间接子类。object类有一个public 方法tostring(),一个对象通过调用该方法可以获得该对象的字符串表示。,7字符串与字符、字节数组 (1)字符串与字符数组 我们已经知道string 类的构造方法:string(char)和string(char,int offset,int length)分别用数组a中的全部字符和部分字符创建字符串对象。string类也提供了将字符串存放到数组中的方法: public void getchars(int start,int end,char c,int offset ) 字符串调用getchars方法将当前字符串中的一部分字符复制到参数c指定的数组中,将字符串中从位置start到end-1位置上的字符复制的数组c中,并从数组c的offset处开始存放这些字符。需要注意的是,必须保证数组c能容纳下要被复制的字符。,string 类还提供了一个方法: public char tochararray() 字符串对象调用该方法可以初始化一个字符数组,该数组的长度与字符串的长度相等,并将字符串对象的全部字符复制到该数组中。 (2)字符串与字节数组 string类的构造方法string(byte)用指定的字节数组构造一个字符串对象。string(byte,int offset,int length) 构造方法用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。public byte getbytes() 方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。,public byte getbytes(string charsetname),6.2 stringbuffer 类,前面我们学习了string字符串对象,string类创建的字符串对象是不可修改的,也就是说,string字符串不能修改、删除或替换字符串中的某个字符,即string对象一旦创建,那么实体是不可以再发生变化的 在这一节,我们介绍stringbuffer类,该类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符串。 1stringbuffer类的构造方法 stringbuffer类有三个构造方法: (1)stringbuffer() (2)stringbuffer(int size) (3)stringbuffer(string s),使用第1个无参数的构造方法创建一个stringbuffer对象,那么分配给该对象的实体的初始容量可以容纳16个字符,当该对象的实体存放的字符序列的长度大于16时,实体的容量自动地增加,以便存放所增加的字符。stringbuffer对象可以通过length()方法获取实体中存放的字符序列的长度,通过capacity()方法获取当前实体的实际容量。 使用第2个构造方法创建一个stringbuffer对象,那么可以指定分配给该对象的实体的初始容量为参数size 指定的字符个数,当该对象的实体存放的字符序列的长度大于size 个字符时,实体的容量自动地增加,以便存放所增加的字符。 使用第3个构造方法创建一个stringbuffer对象,那么可以指定分配给该对象的实体的初始容量为参数字符串s的长度额外再加16个字符。当该对象的实体存放的字符序列的长度大于size 个字符时,实体的容量自动地增加,以便存放所增加的字符。,2stringbuffer类的常用方法 (1)append方法 使用stringbuffer类的append方法可以将其它java类型数据转化为字符串后,再追加到stringbuffer对象中。 (2)char charat(int n) 得到参数n指定的置上的单个字符。当前对象实体中的字符串序列的第一个位置为0,第二个位置为1,依次类推。n的值必须是非负的,并且小于当前对象实体中字符串序列的长度。 (3)void setcharat (int n , char ch) 将当前stringbuffer对象实体中的字符串位置n处的字符用参数ch指定的字符替换。n的值必须是非负的,并且小于当前对象实体中字符串序列的长度。,(4)stringbuffer insert(int index, string str) insert方法将一个字符串插入另一个字符串中,并返回当前对象的引用。 (5)public stringbuffer reverse() stringbuffer对象使用reverse()方法将该对象实体中的字符翻转,并返回当前对象的引用。 (6)stringbuffer delete(int startindex, int endindex) 从当前stringbuffer对象实体中的字符串中删除一个子字符串,并返回当前对象的引用。这里startindex指定了需删除的第一个字符的下标,而endindex指定了需删除的最后一个字符的下一个字符的下标。因此要删除的子字符串从startindex到endindex-1。,(7)stringbuffer replace( int startindex ,int endindex, string str) 将当前stringbuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换。被替换的子字符串由下标startindex 和endindex,指定,即从startindex到endindex-1的字符串被替换。该方法返回当前stringbuffer对象的应用。,返回,6.3 stringtokenizer 类,当我们分析一个字符串并将字符串分解成可被独立使用的单词时,可以使用java.util包中的stringtokenizer类,该类有两个常用的构造方法: 1stringtokenizer(string s) 为字符串s构造一个分析器。使用默认的分隔符集合,即空格符(若干个空格被看做一个空格)、换行符、回车符、tab符、进纸符。 2stringtokenizer(string s, string delim) 为字符串s构造一个分析器,参数delim中的字符被作为分隔符。,我们把一个stringtokenizer对象称作一个字符串分析器,字符串分析器封装着语言符号和对其进行操作的方法。一个分析器可以使用nexttoken()方法逐个获取字符串分析器中的语言符号(单词),每当获取到一个语言符号,字符串分析器中的负责计数的变量的值就自动减一,该计数变量的初始值等于字符串中的单词数目,字符串分析器调用counttokens()方法可以得到计数变量的值。字符串分析器通常用while循环来逐个获取语言符号,为了控制循环,我们可以使用stringtokenizer类中的hasmoretokens()方法,只要计数的变量的值大于0,该方法就返回true,否则返回false。 下面是一个应用程序(见例7),分析字符串,分别输出字符串的单词,并统计出单词个数。,import java.util.*; public class example public static void main(string args ) string s=“we are stud,ents“; stringtokenizer fenxi=new stringtokenizer(s,“ ,“); /空格和逗号做分 int number=fenxi.counttokens(); while(fenxi.hasmoretokens() string str=fenxi.nexttoken(); system.out.println(str); system.out.println(“还剩“+fenxi.counttokens()+“个单词“); system.out.println(“s共有单词:“+number+“个“); ,数组,数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性的申请出来,而不能先创建数组再追加数组元素数量。int a = new int3; 与c、c+中不同,java对数组元素要进行越界检查以保证安全性。 每个数组都有一个属性length指明它的长度。 数组是用来表达一组同类型数据的数据结构 在java中数组是定长的,数组的大小不会动态变化 数组变量的值是数组对象实例的引用,在java.util包中的arrays类提供了一些操作数组的方法 sort(type a):数组值排序(升序) int binarysearch(type a, type key) (数组查找) 必须排序后才能查找 当数组a中有重复的值时,该方法返回的值不确定 如果key存在,则返回它在数组a中的位置 如果不存在,则返回它的“-(插入位置-1)” 负值 void fill(type a, type val) (数组填充) void fill(type a, int fromindx, int toindex, type val) 包括afromindx,但不包括atoindex fromindx= toindex时,范围是一个空的范围,1、数组 java.util.arrays,boolean equals(type a, type a2) 两个数组大小相同,并且每一个元素相等 两个null数组是相等的,1、数组 java.util.arrays,java.lang.system void arraycopy(object src, int src_position, object dst, int dst_position, int length) 范围不能越界 可对任何同类型的数组进行复制 数组复制过程中做严格的类型检查 更详细的内容参见jdk文档,1、数组 数组的复制,向量(vector)是java.util类包提供的一个工具类。它对应于类似数组的顺序存储的数据结构 vector是允许不同类型元素共存的变长数组。 每个vector类的对象可以表达一个完整的数据序列。vector类的对象不但可以保存顺序的一列数据,而且还提供了许多有用的方法来操作和处理这些数据。,2、向量,向量比较适合在如下情况下使用: 1. 需要处理的对象数目不定,序列中的元素都是对 象或可以表示为对象。 2. 需要将不同类的对象组合成一个数据序列。 3. 需要做频繁的对象序列中元素的插入和删除。 4. 经常需要定位序列中的对象和其他查找操作。 5. 在不同的类之间传递大量的数据。 vector类的方法相对于数组要多一些,但是使用这个 类也有一定的局限性,例如其中的对象不能是简单数据 类型等。,2、向量,vector类有三个构造函数: vector():构造一个空的向量 vector(int capacity):以指定的存储容量构造一个空的向量 vector(int capacity, int capacityincrement):以指定的存储容量和容量增量构造一个空的vector。 例如: vector myvector=new vector(100,50); 这个语句创建的myvector向量序列初始有100个元素的空间,以后一旦使用殆尽则以50为单位递增,使序列中元素的个数变化成150,200,。在创建vector序列时,不需要指明序列中元素的类型,可以在使用时确定。,2、向量 创建向量类的对象,有两种添加元素的方法: addelement( object obj):将新元素添加到序列尾部。 insertelementat(object obj, int index):将新元素插 入到指定位置。,2、向量 向向量序列中添加元素,下面是使用这两种方法的例子:,vector myvector=new vector(); for (int i=1;i=10;i+) myvector.addelement(new random(); myvector.insertelementat(“middle“,5);,2、向量 向向量序列中添加元素,使用以下方法修改或删除向量序列中的元素: 1. setelementat(object obj,int index) 将向量序列index位置处的对象元素设置成为obj,如 果这个位置原来有元素则被覆盖。 2. removeelement(object obj) 删除向量序列中第一个与指定的obj对象相同的元素, 同时将后面的元素前提,补上空位。这个方法返回的是 布尔值。 3. removeelementat(int index) 删除index指定位置处的元素,同时将后面的元素前提。,2、向量 修改或删除向量序列中的元素,4. removeallelements() 清除向量序列中的所有元素。 下例中先创建了一个vector,再删除掉其中的所有字符串对象“to”。,vector myvector=new vector(100); for (int i=0;i10;i+) myvector.addelement(“welcome”); myvector.addelement(“to”); myvector.addelement(“beijing”); while (myvector.removeelement(“to”);,2、向量 修改或删除向量序列中的元素,常用于查找向量序列中某元素的方法如下: 1.object elementat(int index) 返回指定位置处的元素。 一个要注意的问题:由于返回的是object类型的对象, 在使用之前通常需要进行强制类型转换,将返回的对象引 用转换成object类的某个具体子类的对象。例如: string str=(string)myvector.elementat(0); 2. boolean contains(object obj) 检查向量序列中是否包含指定的对象元素obj。,2、向量 查找向量序列中的元素,3. int indexof (object obj,int start_index) 从指定的start_index位置开始向后搜索,返回所找到 的第一个与指定对象obj相同的元素的下标位置。若指定 的对象不存在,则返回1。 4. int lastindexof(object obj,int start_index) 从指定的start_index位置开始向前搜索,返回所找到 的第一个与指定对象obj相同的元素的下标位置。若指定 的对象不存在,则返回1。例如:,int i=0; while(i=myvector.indexof(“welcome”,i)!=-1) system.out.println(i); ,2、向量 查找向量序列中的元素,capacity():返回vector的容量 clone():建立vector的备份 copyinto(object):把vector中的元素拷贝到一个数组中 firstelement():返回第一个元素 lastelement():返回最后一个元素 isempty():判断是否为空 setsize(int size):设置vector的大小 size():返回vector中元素的数量 trimtosize():将vector的容量下调至最小值,2、向量 vector中的其他方法,2、向量,使用vector时,一个需要特别注意的问题就是要先创建后使用。如果不先使用new算法利用构造函数创建vector类的对象,而直接使用vector的方法,如:addelement()等方法,则可能造成堆栈溢出或使用null指针等异常,妨碍程序的正常运行。,5.3.1 java容器框架,列表(list) 按照一定次序排列的对象集,对象之间有次序关系。 集合(set) 无次序的对象集,但这些对象都是唯一的,不会重复。 映射(map) 一群成对的对象集,这些对象各自保持着“键-值”(key-value)对应关系。其中,作为“键”的那些对象一定是一个set,即这些对象是唯一的,不会重复。,5.3.2 collection与iterator,collection是java容器框架中的高层接口,它声明了所有容器类的核心方法,包括添加、清除、比较和持有对象(也称为对象集的元素)的操作。此外,collection接口还提供了一个方法用于返回iterator。 迭代器是一个实现了iterator或listiterator接口的对象。它是一种“轻量级”的对象,消耗较小的资源,具有较高的效率,能够满足对象集的遍历。,5.3.3 list及listiterator,编程中最常用到的是list容器。list容器的重要属性是对象按次序排列。list通常由arraylist和linkedlist来实现,它提供了列表的插入、删除、定位、截取、遍历等操作。 arraylist 以可变数组实现完成的list容器。允许快速随机访问,但是当元素的插入或移除发生于list中央位置时,效率便很差。对于arraylist,建议使用listiterator来进行向后或向前遍历,但而不宜用其来进行元素的插入和删除,因为所花代价远高于linkedlist。 linkedlist 以双向链表(double-linked 1ist)实现完成的list容器。最佳适合遍历,但不适合快速随机访问。插入和删除元素效率较高。它还提供addfirst、addlast、getfirst、getlast、removefirst、removelast等丰富的方法,可用于实现栈和队列的操作。,linkedlist/arraylist示例,class student public student(string n,int s) name=n; score=s; public string tostring() string s=name+“ 成绩:“+score; return s; string name; int score; ,存储到list中的对象元素(student),linkedlist/arraylist示例,list list1=new linkedlist(); /list list1=new arraylist(); student zhangsan=new student(“张三“,90); list1.add(0,zhangsan); list1.add(1,new student(“张三“,70); list1.add(2,new student(“李四“,60); list1.add(3,new student(“王武“,85);,/顺序插入元素,linkedlist/arraylist示例,iterator it=list.listiterator(); while (it.hasnext() student s = (student) it.next(); system.out.println(“姓名:”+); system.out.println(“成绩:”+s.score); ,/迭代遍历,linkedlist/arraylist示例,iterator it=list1.listiterator(); while (it.hasnext() object o=it.next(); if (o instanceof string) system.out.println(“string对象 “ + o + “ 列表中清除!“); it.remove(); ,本程序从列表中删除了string类型的对象,保留了student类型的对象。,7.1 date类,1date对象 date类在java.util包中。使用date类的无参数构造方法创建的对象可以获取本地当前时间。 system.out.println(new date(); 用date的构造方法date(long time)创建的date对象表 示相对1970年1月1日0点(gmt)的时间,例如参数 time取值60*60*1000秒表示thu jan 01 01:00:00 gmt 1970。 system.out.println(new date(60*60*1000);,格式化时间,date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如: sat apr 28 21:59:38 cst 2001。 我们可能希望按着某种习惯来输出时间,比如时间的序 :年 月 星期 日或年 月 星期 日 小时 分 秒。 可以使用dateformat的子类simpledateformat来实现日期的格式化。simpledateformat有一个常用构造方法: public simpledateformat(string pattern)。 该构造方法可以用参数pattern指定的格式创建一个对 象,该对象调用: format(date date) 方法格式化时间对象date。,需要注意的是,pattern中应当含有一些有效的字符序列。例如详见jdk api文档! ly或yy 表示用2位数字输出年份;yyyy表示用4位数字输出年份。 lm 或mm 表示用2为数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个m,如:mmm。 ld 或dd 表示用2位数字输出日。 lh或hh 表示用两位数字输出小时(24小时制)。 lm或mm 表示用两位数字输出分。 ls或ss 表示用两位数字输出秒。 l e 表示用字符串输出星期。,import java.util.date; import java.text.simpledateformat; class example public static void main(string args ) date nowtime=new date(); system.out.println(“现在的时间:“+nowtime); simpledateformat matter1=new simpledateformat(“ time:yyyy-mm-dd“); system.out.println(“现在的时间:“+matter1.format(nowtime); simpledateformat matter2= new simpledateformat( “ goodtime:yyyy年-mm月-edd日-hh:时mm:分ss:秒 北京时间“); system.out.println(matter2.format(nowtime); simpledateformat matter3= new simpledateformat(“北京时间dd日hh时mmm ss秒mm分ee“); system.out.println(“现在的时间:“+matter3.format(nowtime); long time=-3600; date date=new date(time); system.out.println(“-3600秒表示的日期时间是:“+date); ,上述程序的输出结果: 现在的时间:thu sep 02 09:33:55 cst 2004 现在的时间: time:2004-09-02 goodtime:2004年-09月-星期四02日-09:时33:分55:秒 北京时间 现在的时间:北京时间02日09时九月 55秒33分星期四 -3600秒表示的日期时间是:thu jan 01 07:59:56 cst 1970 (注意:北京时区是东八区!),返回,7.2 calendar类,calendar类在java.util包中。使用calendar类的static方法getinstance()可以初始化一个日历对象,如: calendar calendar= calendar.getinstance(); 然后,calendar对象可以调用set方法设置时间: public final void set(int year,int month, int date, int hour, int minute,int second) 当参数year取负数时表示公元前。,calendar对象调用方法: public int get(int field) 可以获取有关年份、月份、小时、星期等信息,参数field的有效值由calendar的静态常量指定,例如: calendar.get(calendar.month); 返回一个整数,如果该整数是0表示当前日历是在一月,该整数是1表示当前日历是在二月等。,日历对象调用 public long gettimeinmillis() 可以将时间表示为毫秒。 下面的例子2使用calendar来表示时间。并计算了2005年和1949年之间相隔的天数。,返回,返回,import java.util.*; class example public static void main(string args ) calendar calendar=calendar.getinstance(); /创建一个日历对象。 calendar.settime(new date(); /用当前时间初始化日历时间。 int year=calendar.get(calendar.year); int month=calendar.get(calendar.month)+1; int day=calendar.get(calendar.day_of_month); int week=calendar.get(calendar.day_of_week)-1; /从星期日开始 int hour=calendar.get(calendar.hour_of_day); int minute=calendar.get(calendar.minute); int second=calendar.get(calendar.second); system.out.println(“现在的时间是:“); system.out.println(“+year+“年“+month+“月“+day+“日 “+ “星期“+week); system.out.println(“+hour+“时“+minute+“分“+second+“秒“); calendar.set(1949,9,1); /将日历翻到1949年10月1日,注意9表示十月。 long time1949=calendar.gettimeinmillis(); calendar.set(2009,9,1); /将日历翻到2009年10月1日。9表示十月。 long time2009=calendar.gettimeinmillis(); long daydiff=(time2009-time1949)/(1000*60*60*24); system.out.println(“2009年10月1日和1949年10月1日相隔“+daydiff+“天“); ,返回,import java.util.*; class example public static void main(string args ) system.out.printf(“t%st%st%st%st%st%st%sn“,“日“,“一“,“二“, “三“,“四“,“五“,“六“); calendar calendar=calendar.getinstance(); calendar.set(2005,9,1); int week=calendar.get(calendar.day_of_week)-1; int a=new intweek+31; /存放号码的一维数组。 for(int i=0;iweek;i+) ai=0; for(int i=week,n=1;iweek+31;i+) ai=n ; n+; for(int i=0;ia.length;i+) if(i%7=0 ,2005年十月的日历,7.3 math类与biginteger类,1math类 在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等等。java.lang包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用。另外,math类还有两个静态常量,e和pi,它们的值分别是: 2.7182828284590452354 和 3.14159265358979323846。,以下是math类常用方法: l public static long abs(double a) 返回a的绝对值。 l public static double max(double a,double b) 返回a、 b的最大值。 l public static double min(double a,double b) 返回a、b的最小值。 l public static double random() 产生一个0到1之间的随机数(不包括0和1)。 l public static double pow(double a,double b) 返回a的b次幂。,l public static double sqrt(double a) 返回a的平方根。 l public static double log(double a) 返回a的对数。 l public static double sin(double a) 返回正弦值。 l public static double asin(double a) 返回反正弦值。 有时我们可能需要对输出的数字结果进行必要的格式 化,例如,对于3.14356789,我们希望保留小数位为3位、整数部分至少要显示3位,即将3.14356789格式化为003.144。 可以使用java.text包中的numberformat类,该类调用类方法: public static final numberformat getinstance(),l 实例化一个numberformat对象,该对象调用 l public final string format(double number) l方法可以格式化数字number。 l numberformat类有如下常用方法 l public void setmaximumfractiondigits(int newvalue) l public void setminimumfractiondigits(int newvalue) l public void setmaximumintegerdigits(int newvalue) l public void setminimumintegerdigits(int newvalue),限制整数位和小数位的精度,用一定的格式输出5的平方根,通过一个20次的循环,每次获取1到8之间的一个随机数。,import java.text.numberformat; class example public static void main(string args ) double a=math.sqrt(5); system.out.println(“格式化前:“+a); numberformat f=numberformat.getinstance(); f.setmaximumfractiondigits(5); f.setminimumintegerdigits(3); string s=f.format(a); system.out.println(“格式化后:“+s); system.out.println(“得到的随机数:“); int number=8; for(int i=1;i=20;i+) int randomnumber=(int)(math.random()*number)+1;/产生1到8之间的随机数。 system.out.print(“ “+randomnumber); if(i%10=0) system.out.println(“); ,2biginteger类 程序有时需要处理大整数,java.math包中的biginteger类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论