java实验九选六已完成Word格式.docx
- 文档编号:17382738
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:32
- 大小:580.42KB
java实验九选六已完成Word格式.docx
《java实验九选六已完成Word格式.docx》由会员分享,可在线阅读,更多相关《java实验九选六已完成Word格式.docx(32页珍藏版)》请在冰豆网上搜索。
二.设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。
卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。
三.利用接口继承完成对生物biology、动物animal、人human三个接口的定义,其中生物接口定义呼吸breathe抽象方法,动物接口定义了吃饭eat和睡觉sleep两个抽象方法,人接口定义了思维think和学习learn两个抽象方法;
定一个普通人类person实现上述三个接口定义的抽象方法。
四.定义一个类Family,描述一个家庭,其中包括私有的钱数money(属性)、受保护的祖传秘方secret(方法,在其中写输出语句模拟即可)、只在家族中能够使用的运输工具vehicle(方法,在其中写输出语句进行模拟),公共的门牌号码doorplate(属性)。
将这个家庭放置在一个包中(如china.hb.hd),编写一个该家庭的子类SubFamily,放置在另一个包(如china.beijing)中。
测试其中几种被可见性修饰符修饰过的属性和方法。
第一个
//————————————————————
publicclassStock{
privateStringsymbol;
privateStringname;
privatedoublepreviousPrice;
privatedoublecurrentPrice;
publicStock(){
}
publicStock(Stringsymbol,Stringname){
this.symbol=symbol;
this.name=name;
publicStringgetSymbol(){
returnsymbol;
publicStringgetName(){
returnname;
publicdoublegetPreviousPrice(){
returnpreviousPrice;
publicdoublegetCurrentPrice(){
returncurrentPrice;
publicvoidsetSymbol(Stringsymbol){
publicvoidsetName(Stringname){
publicvoidsetPreviousPrice(doublepreviousPrice){
this.previousPrice=previousPrice;
publicvoidsetCurrentPrice(doublecurrentPrice){
this.currentPrice=currentPrice;
publicdoublechangePercent(){
return((currentPrice-previousPrice)/previousPrice);
}
//——————————————————————————
importjava.util.Scanner;
publicclassTestStock{
publicstaticvoidmain(String[]args){
Stocksun=newStock("
SUN"
"
SunMircosystemInc"
);
doublex=100.0d;
sun.setPreviousPrice(x);
Scannerscan=newScanner(System.in);
System.out.println("
previousPrice=100,请输入一个新的当前价:
"
sun.setCurrentPrice(scan.nextDouble());
System.out.printf("
\n价格变化为:
System.out.println(sun.changePercent()*100+"
%"
实验二Java输入输出
深入理解、掌握Java输入输出流,。
一.Java基本输入输出类:
InputStream类、OutputStream类、Reader类、Writer类
二.File类
三.文件流和随机存取文件流
四.数据流
五.对象流-对象序列化和反序列化
六.字符流和字节流
(选择其二)
一.File类的应用-文件、文件夹的建立、删除、重命名等
二.将一个文本文件用readLine()读出到屏幕,并将其写入到另外一个文件中。
三.将指定范围内的素数写入文件,并读出,求出其中最大值、最小值、平均值。
四.输入5名学生的姓名、年龄,并将学生信息(要求用对象表示)写入文件并读出。
一:
—————————————————
//一.File类的应用-文件、文件夹的建立、删除、重命名等
importjava.io.File;
importjava.io.IOException;
publicclassExam2_1{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("
d:
/"
myfolder"
file.mkdir();
Filefile1=newFile("
/myfolder/my.txt"
file1.createNewFile();
文件夹建立"
+file.exists());
文件建立:
+file1.exists());
FilefileNew=newFile(file1.getParent(),"
ThisaNewName.txt"
原始名字为:
+file1.getName());
booleana;
if(a=file1.renameTo(fileNew)){
的重命名为:
+fileNew.getName());
下面建立并删除file2文件"
Filefile2=newFile("
/myfolder/2.txt"
file2.createNewFile();
文件夹file2建立"
删除file2:
+file2.delete());
二———————————————————
//二.将一个文本文件用readLine()读出到屏幕,并将其写入到另外一个文件中。
importjava.io.*;
publicclassExam2_2{
publicstaticvoidmain(String[]args)throwsIOException{
下面从先前准备好的文件JAVA.txt中读取信息"
JAVA.txt"
BufferedReaderbufferedReader=newBufferedReader(newInputStreamReader(newFileInputStream(file),"
GBK"
));
FilefileNew=newFile("
NewFile.txt"
fileNew.createNewFile();
FileWriterfileWriter=newFileWriter(fileNew);
BufferedWriterbufferedWriter=newBufferedWriter(fileWriter);
Stringstr=null;
str=bufferedReader.readLine();
while(str!
=null){
System.out.println(str);
fileWriter.write(str);
fileWriter.flush();
fileWriter.close();
bufferedReader.close();
实验三异常处理机制
深入理解、掌握面向对象的概念及其异常处理机制。
1.Exception的概念、子类及其继承关系
2.面向对象的异常处理机制
3.异常处理语句(try-catch-finally)
4.用throw语句抛出用户自定义Exception
5.用throws语句在方法声明抛出系统定义Exception
6.创建自己的异常
1.输入两个数据,显示两个数的商。
●当除数或被除数不是数字时抛出NumberFormatExcetpion,并用try…catch…finally语句进行处理。
●当除数为0时,捕获ArithmeticException,并在控制台上打印异常信息。
●自定义异常LowerThanZeroException,当除数、被除数小于0时抛出,
publicclassExam3{
staticintdividend;
staticintdivisor;
staticdoubleresult;
booleanjudge=false;
while(!
judge){
judge=true;
try{
请输入被除数:
dividend=scan.nextInt();
请输入除数:
divisor=scan.nextInt();
if(divisor==0)
thrownewArithmeticException();
if(dividend<
0||divisor<
0)
thrownewLowerThanZeroException();
result=(double)dividend/divisor;
catch(LowerThanZeroExceptione1){
judge=false;
System.out.println(e1.toString());
catch(ArithmeticExceptione2){
System.out.println(e2.toString());
catch(java.util.InputMismatchExceptione3){
thrownewNumberFormatException();
finally{
if(judge)
结果为:
+result);
else
请重新输入:
classLowerThanZeroExceptionextendsException{
LowerThanZeroException(){
super("
除数或被除数小于0"
@Override
publicStringtoString(){
Stringstr="
;
returnstr;
实验四Java常见类的使用和泛型
深入理解、掌握Arrays类,Java字符串String和StringBuffer类,正则表达式和模式匹配。
一.String和StringBuffer类的使用
二.日期类:
Date、Calender、DateFromat类
三.数学类:
Math类
四.Collection系列API简介
五.数据结构类:
LinkedList、HashSet、HashMap、TreeSet、TreeMap等BigInteger类
六.StringTokenizer类
七.泛型
八.正则表达式
一.输入18位身份证号的前17位,输出1位校验位。
18位公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
六位数字地址码:
常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260执行。
八位数字出生日期码:
按GB/T7408的规定执行。
三位数字顺序码:
表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数千分配给女性。
一位数字校验码:
采用ISO7064:
1983,MOD11-2校验码系统。
计算方法:
(1)十七位数字id[17]本体码加权求和公式
S=Sum(Ai*Wi),i=0,...,16,先对前17位数字的权求和
Ai:
表示第i位置上的身份证号码数字值
Wi:
表示第i位置上的加权因子,分别为w[17]7910584216379105842
(2)计算模:
Y=mod(S,11)
(3)通过模得到对应的校验码v[11]
Y
1
2
3
4
5
6
7
8
9
10
校验码
x
二.用HashSet实现集合的并、交、差集运算。
三.给定一个英文文本文件(>
100MB),统计其中的各种不同的英文单词的个数,并将统计结果存入一个文件中。
四.给定一个HTML文件,将其中的IP地址、Email地址、超级链接输出。
五.利用Collection类实现扑克牌的洗牌。
二---------------------------------
///二.用HashSet实现集合的并、交、差集运算
importjava.util.HashSet;
importjava.util.Random;
classMyHashSet{
publicstaticvoidmain(String[]args){
HashSethashSetA=newHashSet();
//集合1
HashSethashSetB=newHashSet();
//集合2
hashSetA.add("
appple"
//为集合加入元素
banana"
bcycle"
hashSetB.add("
home"
Car"
for(inti=0;
i<
10;
i++){//为集合加入元素
intanyNumber;
Randomrandom=newRandom();
anyNumber=random.nextInt(10)+1;
hashSetA.add(anyNumber);
hashSetB.add(anyNumber);
SetmySet=newSet(hashSetA,hashSetB);
\n集合A为:
mySet.print(hashSetA);
\n集合B为:
mySet.print(hashSetB);
\nA和B的并集为:
mySet.print(mySet.getSum());
\nA和B的交集为:
mySet.print(mySet.getMixed());
\n集合A对B的差集为:
mySet.print(mySet.getDifference(hashSetA,hashSetB));
\n集合B对A的差集为:
mySet.print(mySet.getDifference(hashSetB,hashSetA));
//可进行并、交、差集运算---------------
classSet{
privateHashSeth1=newHashSet();
privateHashSeth2=newHashSet();
privateHashSethSum=newHashSet();
//并集
privateHashSethMixed=newHashSet();
//交集
privateHashSethDifference=newHashSet();
//h差集
publicSet(HashSeth1,HashSeth2){
this.h1=h1;
this.h2=h2;
for(Objectk:
h1){
hSum.add(k);
for(Objectk:
h2){
booleanb;
b=hSum.add(k);
if(!
b){
hMixed.add(k);
publicHashSetgetSum(){
returnhSum;
publicHashSetgetMixed(){
returnhMixed;
publicHashSetgetDifference(HashSeth1,HashSeth2){
h1){
b=hMixed.add(k);
if(b){
hDifference.add(k);
returnhDifference;
publicvoidprint(HashSeth){
inti=1;
for(Objectit:
h){
System.out.print(it+"
"
if(i%10==0)
i++;
}
三—————————————————————————————————
////三.给定一个英文文本文件(>
importjava.io.BufferedWriter;
importjava.io.FileWriter;
importjava.io.RandomAccessFile;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.StringTokenizer;
publicclassExam4_3{
staticStringfileName;
staticStringfilePath;
publicstaticvoidmain(String[]args)throwsException{
输入读取文件的路径:
filePath=scan.nextLine();
输入要读取的文件名:
fileName=scan.nextLine();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验 九选六已 完成