Java语言程序设计-教案56学时-第8章_第1页
Java语言程序设计-教案56学时-第8章_第2页
Java语言程序设计-教案56学时-第8章_第3页
Java语言程序设计-教案56学时-第8章_第4页
Java语言程序设计-教案56学时-第8章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

进度计

学时教学方法与手段

授课内容划

分配

课堂讲授(学时)上机实践(学时)(周次)

Java语后入IJ

标识符、关键字和数据类型6421〜2

运算符、表达式和语句

类与对象141042〜5

子类与继承6425-7

接口与实现4227-8

内部类与异常类2208

常用实用类6429-10

组件及事件处理64210-11

输入、输出流22012

JDBC与MySQL数据库42212-13

Java多线程机制22013

Java网络的基本知识22014

总结22014

总学时564016

各章教学实施计划

章节题目第8章常用实用类学时

2

8.1节一8.3节

教学目的、要求(分了解、理解、掌握三个层次):

掌握String类、StringTokenizer类、Scanner类的常用方法。

教学内容(包括基本内容、重点、难点):

基本内容:

♦String类

♦StringTokenizer类

♦Scanner类

重点:掌握String类,StringTokenizer类、Scannner类的使用。

难点:StringTokenizer类、Scannner。

讨论、思考题、作业:

习题82(1),(3),(4)3(1)-(5)

预习第8章8.4-8.12节

参考书目(含参考书、文献等)具体内容:

参考书对应章节

课堂教学实施计划

教学过程设计:复习________一分钟;授新课95一分钟

第13课

讨论.5一分钟;其它_________一分钟

授课类型(请打J):理论课J讨论课口实验课口习题课口其它口

教学方式(请打J):讲授J讨论口示教口指导口其它口

教学手段(请打J):多媒体模型口实物口挂图口音像口其它J

主要内容

基本内容:

♦String类

♦StringTokenizer类

♦Scanner类

重点:掌握String类,StringTokenizer类、Scannner类的使用。

难点:StringTokenizer类、Scannner。

第8章常用实用类

§8.1String类

Java专门提供了用来处理字符序列的String类。

String类在java,lang包中,由于java,lang包中的类被默认引入,因此程序可以直接使

用String类。

需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String

类不可以有子类。

8.1.1构造String对象

String对象,习惯地被翻译为字符串对象。

1.常量对象

2.String对象

3.引用String常量

8.1.2字符串的并置

String对象可以用〃+”进行并置运算,即首位相接得到一个新的String对象。

例子1

Example8_l.java

publicclassExample8_l{

publicstaticvoidmain(Stringargs[]){

Stringhello="你好”;

StringtestOne="你"好";//【代码1】

System,out.printIn(hello==testOne);//输出结果是true

System.out.printIn(n==testOne);//输出结果是true

System.out.printIn(n==hello);//输出结果是true

Stringyou="你";

Stringhi=“好”;

StringtestTwo=you+hi;//【代码2】

System,out.printIn(hello==testTwo);//输出结果是false

StringtestThree=you+hi;

System,out.printIn(testTwo==testThree);//输出结果是false

)

8.1.3String类的常用方法

1.publicintlength0

2.publicbooleanequals(Strings]

下面的例子2说明了equals的用法。

例子2

Example8_2.java

publicclassExample8_2{

publicstaticvoidmain(Stringargs[]){

Stringsizs2;

si=newString("天道酬勤”);

s2=newString("天道酬勤”);

System,out.printIn(si.equals(s2));//输出结果是:true

System.out.printIn(sl==s2);//输出结果是:false

Strings3,s4;

s3=nwearestudents**;

s4=newString(nwearestudents**);

System,out.printIn(s3.equals(s4));//输出结果是:true

System.out.printIn(s3==s4);//输出结果是:false

Strings5,s6;

s5="勇者无敌";

s6="勇者无敌";

System.out.printin(s5.equals(s6));//输出结果是:true

System.out.printIn(s5==s6);//输出结果是:true

}

)

3.publicbooleanstartsWith(Strings)、publicbooleanendsWith(Strings)方法

4.publicintcompareTo(Strings)方法

按字典序比较两个String对象还可以使用publicintcompareToIgnoreCase(Strings)方

法,该方法忽略大小写。

下面的例子3中使用java,util包中的Arrays调用sort方法和自己编写SortString类中

的sort方法将一个String数组按字典序排列。

例子3

SortString.java

publicclassSortstring{

publicstaticvoidsort(Stringa[]){

intcount=0;

for(inti=0;i<a.length-1;i++){

for(intj=i+l;j<a.length;j++){

if(a[j],compareTo(a[i])<0){

Stringtemp=a[i];

a[i]=a[j];

a[j]=temp;

)

)

)

)

)

Example8_3.java

importjava.util.

publicclassExample8_3{

publicstaticvoidmain(Stringargs[]){

String[]a={"melon","appl㊀","p㊀ar","banana"};

String[]b={“西瓜“,“苹果“,”梨“,“香蕉;

System.out.printIn("使用Sortstring类的方法按字典序排列数组a:”);

Sortstring.sort(a);

for(inti=0;i<a.length;i++){

System.out.print(”[i]);

}

System.out.printIn("");

System.out.printIn("使用类库中的Arrays类,按字典序排列数组b:“);

Arrays.sort(b);

for(inti=0;i<b.length;i++){

System.out.print(”n+b[i]);

}

}

)

5.publicbooleancontains[Strings]

6.publicintindexOf(Strings)和publicintlastIndexOf(Strings)

7.publicStringsubstringfintstartpoint)

8.publicStringtrim()

8.1.4字符串与基本数据的相互转化

java,lang包中的Integer类调用其类方法publicstaticintparselnt(Strings)可以将

由“数字”字符组成的字符序列,如〃876〃,转化为int型数据,例如:

intx;

Strings=〃876〃;

x=Integer,parselnt(s);

例子4求若干个数之和,若干个数从键盘输入。

例子4

Example8_4.java

publicclassExample8_4{

publicstaticvoidmain(Stringargs[]){

doublesum=0,item=0;

booleancomputable=true;

for(Strings:args){

try{item=Double.pars㊀Double(s);

sum=sum4-item;

)

catch(NumberFormatExceptione){

System.out.printIn("您输入了非数字字符:"+e);

computable=false;

)

)

if(computable)

System.out.printin(nsum=n+sum);

)

)

8.1.5对象的字符串表示

下面例子5中的TV类重写了toStringO方法,并使用super调用隐藏的toStringO方法。

例子5

TVjava

publicclassTV{

doubleprice;

publicvoidsetPrice(doublem){

price=m;

}

publicStringtoString(){

StringoldStr=super.toString();

returnoldStr+”\n这是电视机,价格是:H+price;

)

)

Example8_5.java

publicclassExample8_5{

publicstaticvoidmain(Stringargs[]){

Datedate=newDate();

System.out.printin(date.toString());

TVtv=newTV();

tv.setPrice(5897・98);

System.out.printin(tv.toString());

)

}

8.1.6字符串与字符、字节数组

1.字符串与字符数组

例子6具体地说明了getChars()和toCharArray()方法的使用。

例子6

Example8_6.java

publicclassExample8_6{

publicstaticvoidmain(Stringargs[]){

char[]a,c;

Strings="1945年8月15日是抗战胜利日

a=newchar[4];

s.getChars(ll,15,a,0);//数组a的单元依次放的字符是,抗,,,战:胜,,'

利、

System.out.printin(a);

c=长假期间,学校都放假了”.toCharA工ray();

for(inti=0;i<c.length;i++)

System.out.print(c[i]);

}

}

2.字符串与字节数组

在下面的例子7中,假设机器的默认编码是GB2312。String常量:"Java你好”,调用

getBytesO返回一个字节数组d,其长度为8,该字节数组的d[0]、d[l]、d[2]和d[3]单元分

别是字符J、a、v和a的编码,第d[4]和d[5]单元存放的是字符‘你'的编码(GB2312编码中,

一个汉字占2个字节),第d[6]和d[7]单元存放的是字符'好'的编码。

例子7

Example8_7.java

publicclassExample8_7{

publicstaticvoidmain(Stringargs[]){

byted[]="Java你好".getBytes();

System.out.printin(“数组d的长度是:"+d.length);

Strings=newString(d,6,2);//输出:好

System.out.printin(s);

s=newString(d,0,6);

System,out.printin(s);//输出:Java你

)

}

3.字符串的加密算法

例子8

EncryptAndDecrypt.java

publicclassEncryptAndDecrypt{

Stringencrypt(Stringsourcestring,Stringpassword){//力口密算

char[]p=password.toCharArray();

intn=p.length;

char[]c=sourcestring.toCharArray();

intm=c.length;

for(intk=0;k<m;k++){

intmima=c[k]+p[k%n];//力口密

c[k]=(char)mima;

)

returnnewString(c);//返回密文

)

Stringdecrypt(Stringsourcestring,Stringpassword){//解密算

char[]p=password.toCharArray();

intn=p.length;

char[]c=sourcestring.toCharArray();

intm=c.length;

for(intk=0;k<m;k++){

intmima=c[k]-p[k%n];//解密

c[k]=(char)mima;

)

returnnewString(c);//返回明文

Example8_8.java

importjava,util,Scanner;

publicclassExample8_8{

publicstaticvoidmain(Stringargs[]){

Stringsourcestring=”今晚十点进攻“;

EncryptAndDecryptperson=newEncryptAndDecrypt();

System.out.printIn("输入密码力口密:n+sourceString);

Scannerscanner=newScanner(System.in);

Stringpassword=scanner.nextLine();

Stringsecret=person.encrypt(sourcestring,password);

System.out.printin("密文:"+secret);

System.out.printIn("输入解密密码”);

password=scanner.nextLine();

Stringsource=person.decrypt(secret,password);

System.out.printIn("明文:n+source);

}

}

8.1.7正则表达式及字符串的替换与分解

1.正则表达式

正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义字符,这些特

殊字符称做正则表达式中的元字符。

表8.1列出了常用的元字符及其意义。

注:有关正则表达式的细节可查阅java.util,regex包中的Pattern类。

例子9程序判断用户从键盘输入的字符序列是由英文字母,数字或下划线所组成。

例子9

Example8_9.java

importjava.util.Scanner;

publicclassExample8_9{

publicstaticvoidmain(Stringargs[]){

Stringregex=n[a-zA-ZI0-9|_];

Scannerscanner=newScanner(System.in);

Stringstr=scanner.nextLine();

if(str.matches(regex)){

System.out.printIn(str+”是英文字母,数字或下划线构成“);

)

else{

System.out.printIn(str+”中有非法字符”);

)

)

}

2.字符串的替换

String对象调用publicStringreplaceAll(Stringregex,Stringreplacement)方法返回

一个新的String对象,这个新的String对象的字符序列是把当前String对象的字符序列中所

有和参数regex匹配的子字符序列,用参数replacement的字符序列替换后得到字符序列。

在下面的例子10中使用了replaceAll()方法。

例子10

Example8_10.java

publicclassExample8_10{

publicstaticvoidmain(Stringargs[]){

Stringstr="欢迎大家访问了解、参观公司”;

Stringregex=

n(http://|www)\56?\\w+\56{1}\\w+\56{1}\\p{Alpha}+n;

System,out.printf("替换\n\"%s\”\r^的网站链接信息后得到的字符串:

\n”,str);

str=str.replaceAll(reg㊀x,”******”);

System.out.printIn(str);

Stringmoney==89,235,678¥”;

System.out.print(money+"转化成数字;

Strings=money.replaceAll("[^\\p{Sc}]n,nn);//”\\p{Sc}"可匹

配任何

货币符号

longnumber=Long.parseLong(s);

System.out.printin(number);

)

}

3.字符序列的分解

String类提供了一个实用的方法publicString[]split(Stringregex),String对象调

用该方法时,使用参数指定的正则表达式regex作为分隔标记分解出当前String对象的字符序

列中的单词,并将分解出的单词存放在String数组中。

下面的例子11中,用户从键盘输入一行文本,程序输出其中的单词。用户从键盘输入whoare

you(Caven?)观察运行效果。

例子11

Example8_ll.java

importjava.util.Scanner;

publicclassExample8_ll{

publicstaticvoidmain(Stringargs[]){

System.out.printIn("一行文本:");

Scannerreader=newScanner(System.in);

Stringstr=reader.nextLine();

//regex匹配由空格、数字和!":;<=>?@]\广_'{1}~组成的字符序

Stringregex=n[\\s\\d\\p{Punct}]+H;

Stringwords口=str.split(r㊀gex);

for(inti=0;i<words.length;i++){

intm=i+1;

System.out.printin("单词"+m+”:"+words[i]);

)

)

}

8.2StringTokenizer类

当分析一个String对象的字符序列并将字符序列分解成可被独立使用的单词时,可以使用

java,util包中的StringTokenizer类,该类有两个常用的构造方法。

•StringTokenizer(Strings):

•StringTokenizer(Strings,Stringdelim):

例子12计算购物小票的中的商品价格的和。程序关心是购物小票中的数字,因此需要分解

出这些数字,以便单独处理,这样就需要把非数字的字符序列替换成统一的字符,以便使用分

隔标记分解出数字,例如,对于〃12#25#39.87〃,如果用字符#做分隔标记,就很容易分解出数

字单词。在例子12的PriceToken类中,把购物小票中非数字的字符序列都替换成#,然后再分

解出数字单词(价格),并计算出这些数字的和。

例子12

Example8_12.java

importjava.util.*;

publicclassExample8_12{

publicstaticvoidmain(Stringargs[]){

StringshoppingReceipt="牛奶:8.5圆,香蕉3.6圆,酱油:2.8圆”;

PriceTokenlookPriceMess=newPriceToken();

System.out.printIn(shoppingReceipt);

doublesum=lookPriceMess.getPriceSum(shoppingReceipt);

System.out.printf("购物总价格%一7.2£”,sum);

intamount=lookPriceMess.getGoodsAmount(shoppingReceipt);

doubleaver=lookPriceMess.getAverPrice(shoppingReceipt);

System.out.printf(”\n商品数目:为d,平均价格:%一7.2f”,amount,aver);

}

}

PriceToken.java

iimportjava.util.*;

publicclassPriceToken{

publicdoublegetPriceSum(StringshoppingReceipt){

Stringregex="「0123456789.]+";〃匹配非数字字符序列

shoppingReceipt=shoppingReceipt.replaceAll(regex,"#“);

//replaceAll方法见8.1.6节的例子10

StringTokenizerfenxi=newStringTokenizer(shoppingReceipt,n#H);

doublesum=0;

while(fenxi.hasMoreTokens()){

Stringitem=fenxi.nextToken();

doubleprice=Double.parseDouble(item);

sum=sum+price;

)

returnsum;

}

publicdoublegetAverPrice(StringshoppingReceipt){

doublepriceSum=getPriceSum(shoppingReceipt);

intgoodsAmount=getGoodsAmount(shoppingReceipt);

returnpriceSum/goodsiXmount;

)

publicintgetGoodsAmount(StringshoppingReceipt){

Stringregex=n[A0123456789.]+n;

shoppingReceipt=shoppingReceipt.replaceAll(regex,n#n);

StringTokenizerfenxi=newStringTokenizer(shoppingReceipt,n#H);

intamount=fenxi.countTokens();

returnamount;

}

}

8.3Scanner类

本节学习怎样使用Scanner类的对象从字符序列中解析出程序所需要的数据。

1.Scanner对象

Scanner对象可以解析字符序列中的单词

下面的例子13使用正则表达式:

Stringregex="「0123456789.]+"〃(匹配所有非数字字符序列)

作为分隔标记,解析”市话76.8元,长途:167.38元,短信12.68元“,以及''牛奶:8.5圆,香

蕉3.6圆,酱油:2.8圆''中的价格,并计算价格之和。

例子13

Example8_13.java

publicclassExample8_13{

publicstaticvoidmain(Stringargs[]){

Stringcost="市话76.8元,长途:167.38元,短信12・68元”;

doublepriceSum=GetPrice.givePriceSum(cost);

System,out.printf("%s\n总价:%.2f圆\n”,cost,priceSum);

cost="牛奶:8.5圆,香蕉3.6圆,酱油:2.8圆”;

priceSum=GetPrice.givePriceSum(cost);

System,out.printf("%$\11总价:%,2£圆\11”,cost,priceSum);

)

)

GetPrice.java

importjava.util,

publicclassGetPrice{

publicstaticdoublegivePriceSum(Stringcost){//static方法,类名

可调用

Scannerscanner=newScanner(cost);

scanner.useDelimiter("「0123456789.]+”);//scann㊀r设置分隔

标记

doublesum=0;

while(scanner.hasNext()){

try{doubleprice=scanner.nextDouble();

sum=sum+price;

)

catch(InputMismatchExceptionexp){

Stringt=scanner.next();

)

)

returnsum;

)

}

2.StringTokenizer和Scanner的区另

本次课总结

熟练掌握String类的常用方法。

掌握String类的和StringBuffer类的不同,以及二者之间的联系。

使用StringTokenizer,Scannner类分析字符串,获取字符串中被分隔符分隔的单词。

作业

习题82(1),(3),(4)3(1)-(5)

预习第8章8.4-8.12节

本次课结束

各章教学实施计划

章节题目第8章常用实用类

当U-4-9

字时

8.4节―8.12节

教学目的、要求(分了解、理解、掌握三个层次):

1、掌握StringBuffer类。

2、掌握Date与Calendar类,了解日期格式化。

3、掌握Math类,了解Biginteger与Random类、数字格式化。

4、了解Class类与Console类。

5、掌握Pattern类和Matcher类。

教学内容(包括基本内容、重点、难点):

基本内容:

•StringBuffer类。

•Date与Calendar类,了解日期格式化。

•Malh类,Biglnleger与Random类、数字格式化。

•Class类与Console类。

•Pattern类和Matcher类。

重点:Date类和Calendar类以及Math类的使用。

难点:Pattern类与Match类。

讨论、思考题、作业:

习题81,2(2),(5)3(6)-(7)4

预习第9章9.1—9.4节

参考书目(含参考书、文献等)具体内容:

参考书对应章节

课堂教学实施计划

教学过程设计:复习一5一分钟;授新课90一分钟

第14课

讨论.5一分钟;其它___________一分钟

授课类型(请打J):理论课J讨论课口实验课口习题课口其它口

教学方式(请打J):讲授J讨论口示教口指导口其它口

教学手段(请打J):多媒体模型口实物口挂图口音像口其它J

主要内容

基本内容:

•StringBuffer类。

•Date与Calendar类,了解日期格式化。

•Math类,Biginteger与Random类、数字格式化。

•Class类与Console类。

•Pattern类和Matcher类。

重点:Date类和Calendar类以及Math类的使用。

难点:Pattern类与Match类。

8.4StringBuffer类

8.4.1StringBuffer对象

与String类不同,StringBuffer类的对象的实体的内存空间可以自动地改变大小,便于

存放一个可变的字符序列。

StringBuffer类有三个构造方法:

StringBuffer()

StringBuffer(intsize)

StringBuffer(Strings)

8.4.2StringBuffer类的常用方法

1.append方法

2.publiccharcharAt(intn)和publicvoidsetCharAt(intn,charch)

3.StringBufferinsert(intindex,Stringstr)

4.publicStringBufferreverseO

5.StringBufferdelete(intstartindex,intendindex)

6.StringBufferreplace(intstartindex,intendindex,Stringstr)

下面的例子14使用StringBuffer类的常用方法,运行效果如图8.180

例子14

Example8_14.java

publicclassExample8_14{

publicstaticvoidmain(Stringargs[]){

StringBufferstr=newStringBuffer();

str.append(〃大家好〃);

System.out.println(〃str:〃+str);

System,out.printIn("length:〃+str・length());

System,out.printin("capacity:〃+str・capacity());

str.setCharAt(0,'w');

str.setCharAt(1,'e');

System,out.printin(str);

str.insert(2,〃areall");

System,out.println(str);

intindex=str.indexOf(〃好〃);

str.replace(index,str.length(),z,right");

System,out.printin(str);

)

)

8.5Date与Calendar类

程序设计中可能需要日期、时间等数据,本节介绍java,util包中的Date和Calendar类,

二者的实例可用于处理和日期、时间相关的数据。

8.4.1Date类

1.使用无参数构造方法

2.使用带参数的构造方法

8.4.2Calendar类

Calendar类在java,util包中。使用Calendar类的static方法getInstance。可以初始

化一个日历对象。

下面的例子15计算了2012-9-01和2016-07-01之间相隔的天数。

例子15

Example8_15.java

importjava.util.

publicclassExample8_15{

publicstaticvoidmain(Stringargs[]){

Calendarcalendar=Calendar.getlnstance();

calendar.setTime(newDate());

intyear=calendar,get(Calendar.YEAR),

month=calendar,get(Calendar.MONTH)+1,

day=calendar,get(Calendar.DAY_OF_MONTH),

hour=calendar,get(Calendar.HOUR_OF_DAY),

minute=calendar,get(Calendar.MINUTE),

second=calendar,get(Calendar.SECOND);

System.out.print(〃现在的时间是:〃);

System,out.print(〃〃+year+〃年〃+month+〃月〃+day+〃日〃);

System,out.printin(,z〃+hour+〃时〃+minute+〃分〃+second+〃秒〃);

inty=2012,m=9,d=1;

calendar,set(y,m-l,d);〃将日历翻到2012年九月一日,注意8表示九月

longtimel=calendar.getTimelnMillis();

y=2016;

m=7;

day=1;

calendar,set(y,m-l,d);〃将日历翻到2016年七月一日

longtime2=calendar.getTimelnMillis();

longsubDay=(time2-timel)/(1000*60*60*24);

System.out.printin(,,/z+newDate(time2));

System,out.printin(〃与〃+newDate(timel));

System.out.printin(〃相隔〃+subDay+〃天〃);

)

)

下面的例子16输出2022年6月的日历。

例子16

Example8_16.java

publicclassExample8_16{

publicstaticvoidmain(Stringargs[]){

CalendarBeancb=newCalendarBean();

cb.setYear(2022);

cb.setMonth(6);

String[]a=cb.getCalendar();〃返回号码的一维数组

char[]str=〃日一二三四五六toCharArray();

for(charc:str){

System,out.printfc);

)

for(inti=0;i<a.length;i++){〃输出数组a

if(i%7==0)

System,out.printin(〃〃);//换彳亍

System.out.printf(〃%4s〃,a[i]);

)

)

)

CalendarBean.java

importjava.util.Calendar;

publicclassCalendarBean{

intyear=0,month=0;

publicvoidsetYear(intyear){

this.year=year;

)

publicvoidsetMonth(intmonth){

this.month=month;

)

publicString[]getCalendar(){

String[]a=newString[42];

Calendarrili=Calendar.getlnstance();

rili.set(year,month-1,1);

intweekDay=rili.get(Calendar.DAY_OF_WEEK)-1;//计算出1号的星期

intday=O;

if(month==l|1month==3|Imonth==5||month==7||month==8||month==10|

Imonth==12)

day=31;

if(month==4||month==6||month==9||month==ll)

day=30;

if(month==2){

if(((year%4==0)&&(year%100!=0))||(year%400==0))

day=29;

else

day=28;

)

for(inti=0;i<weekDay;i++)

a[i]=〃〃;

for(inti=weekDay,n=l;i<weekDay+day;i++){

a[i]=String.valueOf(n);

n++;

)

for(inti=weekDay+day;i<a.length;i++)

a[i]二〃〃;

returna;

8.6日期的格式化

程序可能希望按着某种习惯来输出时间,比如时间的顺序:年月星期日或年月星期日

小时分秒。可以直接使用String类调用format方法对日期进行格式化。

8.6.1format方法

format方法:

format(格式化模式,日期列表)

1.格式化模式

2.日期列表

3.格式化同一日期

8.6.2不同区域的星期格式

不同国家的星期的简称或全称有很大的不同,例如,美国用Thu简称星期四,日本用“木”

简称星期四,意大利用gi。简称星期四等。如果想用特定地区的星期格式来表示日期中的星期,

可以用format的重载方法:

format(Localelocale,格式化模式,日期列表);

其中的参数locale是一个Locale类的实例,用于表示地域。,

8.7Math、Biginteger和Random类

8.7.1Math类

在编写程序时,可能需要计算一个数的平方根、绝对值或获取一个随机数等。

以下是Math类的常用类方法。

•publicstaticlongabs(doublea)返回a的绝对值。

•publicstaticdoublemax(doublea,doubleb)返回a、b的最大值。

•publicstaticdoublemin(doublea,doubleb)返回a、b的最小值。

8.7.2Biginteger类

Biginteger类的常用方法。

•publicBigintegeradd(Bigintegerval)返回当前对象与val的和。

•publicBigintegersubtract(Bigintegerval)返回当前对象与val的差。

•publicBigintegermultiply(Bigintegerval)返回当前对象与val的积。

等。

下面的例子17使用Math和Biginteger类。

例子17

Example8_17.java

importjava.math.*;

publicclassExample8_17{

publicstaticvoidmain(Stringargs[]){

doublea=5.0;

doublest=Math,sqrt(a);

System,out.printin(a+”的平方根:〃+st);

System.out.printf(〃大于等于%f的最小整数%d\n〃,5.2,

(int)Math,ceil(5.2));

System,out.printf(〃小于等于%f的最大整数%d\n〃,-5.2,

(int)Math,floor(-5.2));

System,out.printf(,z%f四舍五入的整数:%d\n〃,12.9,Math,round(12.9));

System,out.printf(〃%f四舍五入的整数:%d\n〃,T2.6,Math,round(-12.6));

Bigintegerresult=newBiginteger(/z0z,),

one=newBiginteger(“123456789〃),

two=newBiginteger(“987654321〃);

r

温馨提示

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

评论

0/150

提交评论