//二.将一个文本文件用readLine()读出到屏幕,并将其写入到另外一个文件中。 import java.io.*;
public class Exam2_2 {
public static void main(String[] args) throws IOException{
System.out.println(\下面从先前准备好的文件JAVA.txt中读取信息\ File file=new File(\VA.txt\
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(new FileInputStream(file),\
File fileNew=new File(\ fileNew.createNewFile();
FileWriter fileWriter=new FileWriter(fileNew);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter); String str=null;
str=bufferedReader.readLine(); while(str!=null){
System.out.println(str); fileWriter.write(str); fileWriter.flush();
str=bufferedReader.readLine(); }
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时抛出,
import java.util.Scanner; public class Exam3{
static int dividend; static int divisor; static double result;
public static void main(String[] args){ Scanner scan=new Scanner(System.in); boolean judge=false;
while(!judge){ judge=true;
try {
System.out.println(\请输入被除数:\ dividend=scan.nextInt();
System.out.println(\请输入除数:\ divisor=scan.nextInt(); if(divisor==0)
throw new ArithmeticException(); if(dividend<0||divisor<0)
throw new LowerThanZeroException(); result=(double)dividend/divisor; }
catch(LowerThanZeroException e1){ judge=false;
System.out.println(e1.toString()); }
catch(ArithmeticException e2){ judge=false;
System.out.println(e2.toString()); }
catch (java.util.InputMismatchException e3) { judge=false;
throw new NumberFormatException(); }
finally{
if(judge)
System.out.println(\结果为:\ else
System.out.println(\请重新输入:\ } } } }
class LowerThanZeroException extends Exception{
LowerThanZeroException(){
super(\除数或被除数小于0\ }
@Override
public String toString(){
String str=\除数或被除数小于0\ return str; } }
实验四 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/T 2260执行。
八位数字出生日期码:按 GB/T 7408 的规定执行。
三位数字顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数千分配给女性。 一位数字校验码:采用ISO 7064:1983,MOD 11-2 校验码系统。 计算方法:
(1)十七位数字id[17]本体码加权求和公式
S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和 Ai:表示第i位置上的身份证号码数字值
Wi:表示第i位置上的加权因子,分别为w[17] 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)计算模: Y = mod(S, 11)
(3)通过模得到对应的校验码 v[11]
Y 0 1 2 3 4 5 6 7 8 9 10 校验码 1 0 x 9 8 7 6 5 4 3 2 二.用HashSet实现集合的并、交、差集运算。
三.给定一个英文文本文件(>100MB),统计其中的各种不同的英文单词的个数,并将统计结果存入一个文件中。
四.给定一个HTML文件,将其中的IP地址、Email地址、超级链接输出。 五.利用Collection类实现扑克牌的洗牌。
二--------------------------------- ///二.用HashSet实现集合的并、交、差集运算 import java.util.HashSet; import java.util.Random; class MyHashSet {
public static void main(String[] args) {
HashSet hashSetA=new HashSet();//集合1 HashSet hashSetB=new HashSet();//集合2
hashSetA.add(\为集合加入元素 hashSetA.add(\ hashSetA.add(\ hashSetB.add(\ hashSetB.add(\ hashSetB.add(\