if(cTemp==cStr[j]){
bTemp=true;
break;
}
}
if(!
bTemp)returnfalse;
}
returntrue;
}
publicstaticvoidmain(String[]arges){
myArraymA=newmyArray();
//校验邮件地址
booleanbMail=mA.isMail("tom@");
System.out.println("1bMailis"+bMail);
bMail=mA.isMail("tom@163com");
System.out.println("2bMailis"+bMail);
//演示是否是数字
booleanbIsNum=mA.isNumber("1234");
System.out.println("1:
bIsNum="+bIsNum);
bIsNum=mA.isNumber("123r4");
System.out.println("2:
bIsNum="+bIsNum);
}
实验截图:
实验4:
Java类与对象
一、实验目的
(1)掌握Java类的定义和使用方法,
(2)掌握对象的声明和使用,构造函数的概念和使用,
(3)掌握类及其成员的访问控制符的使用,
(4)掌握包的概念和使用
二、实验任务
(1)按要求设计一个类。
(2)按要求编译、运行这个类,并写出运行结果。
三、实验内容
1.编写一个Java程序片断,以定义一个表示学生的类Student。
这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。
2.为类Student增加一个方法publicStringtoString(),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。
编写一个JavaApplication程序,创建Student类的对象,并验证新增加的功能。
实验截图(类的设计截图):
实验5:
Java类的高级特性
一、实验目的
(1)掌握Java类的继承关系和派生方法掌握多态的概念与使用;
(2)掌握接口的定义和使用;
二、实验任务
(1)输入根据给定的JavaApplication程序,写出运行结果。
(2)按照要求编写JavaApplication程序。
三、实验内容
1.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。
//接口
interfaceplayer
{
intflag=1;
voidplay();//播放
voidpause();//暂停
voidstop();//停止
}
//抽象类
abstractclassplaying
{
publicvoiddisplay(ObjectoPara)
{
System.out.println(oPara);
}
abstractvoidwinRun();
}
//继承了playing抽象类和实现类player接口
publicclassnewPlayextendsplayingimplementsplayer
{
publicvoidplay()
{
display("newPlay.play()");//这里只是演示,去掉了代码。
}
publicvoidpause()
{
display("newPlay.pause()");//这里只是演示,去掉了代码。
}
publicvoidstop()
{
display("newPlay.stop()");//这里只是演示,去掉了代码。
}
voidwinRun()
{
display("newPlay.winRun()");//这里只是演示,去掉了代码。
}
publicstaticvoidmain(String[]args)
{
newPlayp=newnewPlay();
p.play();
p.pause();
p.stop();
p.winRun();
}
}
实验结果截图:
试验6:
异常处理
一、实验目的
(1)掌握异常处理机制;
(2)掌握异常类的自定义
二、实验任务
(1)根据异常处理机制,写出一段异常处理程序;
(2)写出一个自定义异常程序
三、实验内容
1,异常处理语句//在异常处理中使用finally语句应用举例。
publicclassYiTest{
publicstaticvoidmain(Stringargs[]){
inta,b,c;
a=9;
b=0;
try{
c=a/b;
System.out.println(a+"/"+b+"="+c);
}catch(ArithmeticExceptione){
System.out.println("出现被0除的异常情况");
}catch(Exceptione){
System.out.println("异常类型为"+e);
}finally{
System.out.println("除数="+a);
System.out.println("被除数="+b);
}
a=9;
b=3;
try{
c=a/b;
System.out.println(a+"/"+b+"="+c);
}catch(ArithmeticExceptione){
System.out.println("出现被0除的异常情况");
}catch(Exceptione){
System.out.println("异常类型为"+e);
}finally{
System.out.println("除数="+a);
System.out.println("被除数="+b);
}
}
}
2,自定义异常
/*
*原则:
*1.先自定义一个自己的异常类型
*2.设置抛出异常的条件(在什么情况下抛出异常,使用throw抛出)
*3.如果在一个函数体中产生了异常,而在该函数中并没有定义try-catch语句来
*处理它,必须使用throws来把该异常抛到更外一层函数中去。
*/
importjava.io.*;
classYiTest2{
publicstaticvoidmain(String[]args)throwsmyException{
try{
show(3);
show(-1);
}catch(myExceptionf){
System.out.println(f.getMessage());
}catch(ArithmeticExceptione){
//catch语句为系统调用代码,当系统捕获一个异常时自动调用该catch语句,
//系统并且自动把该异常做为一个对象参数传给catch语句。
在这里是参数e
//e的成员函数getMessage作用是获取该异常的详细信息
System.out.println(e.getMessage());
}
System.out.println("======运行结束======");
}
//在show函数中有可能产生一个异常,但该函数中没有设置
//try-catch代码来捕捉异常,这时候必须使用throws关键字
//来把有可能产生的异常抛给上一层函数。
staticvoidshow(intx)throwsmyException{
if(x<0){
thrownewmyException("不能传小于0的参数。
");
/*等价于:
myExceptiontemp=newmyException("不能传小于0的参数。
");
throwtemp;
*/
}
System.out.println("x="+x+",传输的数据大于0!
");
}
}
//自定义一个异常类型,该异常类型名字叫myException
classmyExceptionextendsException{
publicmyException(Stringmsg){
super(msg);
}
}
实验截图:
实验7:
Java多线程
一、实验目的
(1)了解线程的概念。
(2)学习简单的多线程编程。
二、实验任务
(1)阅读给定的JavaApplication程序,按要求回答问题并写出运行结果。
(2)按要求编写一个JavaApplication程序,并编译、运行这个程序。
三、实验内容
1.输入下面的JavaApplication程序,运行该程序,并简要分析程序的运行结果。
1:
classSimpleThreadextendsThread{
2:
publicSimpleThread(Stringstr){
3:
super(str);//调用其父类的构造方法
4:
}
5:
publicvoidrun(){//重写run方法
6:
for(inti=0;i<10;i++){
7:
System.out.println(i+""+getName());
8:
//打印次数和线程的名字
9:
try{
10:
sleep((int)(Math.random()*1000));
11:
//线程睡眠,把控制权交出去
12:
}
13:
catch(InterruptedExceptione){}
14:
}
15:
System.out.println("DONE!
"+getName());
16:
//线程执行结束
17:
}
18:
}
1:
publicclassTwoThreadsTest{
2:
publicstaticvoidmain(Stringargs[]){
3:
newSimpleThread("First").start();
4:
//第一个线程的名字为First
5:
newSimpleThread("Second").start();
6:
//第二个线程的名字为Second
7:
}
8:
}
实验截图:
试验8:
图形用户界面
一,实验目的
(1)掌握图形界面布局形式;
(2)掌握事件处理的方法;
二,实验任务
(1)阅读给定的程序,按要求回答问题并写出运行结果。
三,实验内容
1,页面布局
importjava.awt.*;
publicclassg_01{
publicstaticvoidmain(Stringargs[]){
Framefrm=newFrame("BorderLayout");
frm.setLayout(newBorderLayout());
frm.add("North",newButton("North(北)"));//把按钮"North(北)")加到容器的North区域
frm.add("South",newButton("South(南)"));//把按钮"South(南)")加到容器的South区域
frm.add("East",newButton("East(东)"));//把按钮"East(东)")加到容器的East区域
frm.add("West",newButton("West(西)"));//把按钮"West(西)")加到容器的West区域
frm.add("Center",newButton("Center(中心)"));//把按钮"Center(中心)")加到容器的Center区域
frm.setSize(400,200);
frm.setVisible(true);
}
}
2,事件处理
importjava.awt.*;//ThreeListener,实现了三个接口
importjava.awt.event.*;
publicclassg_02implementsMouseMotionListener,MouseListener,WindowListener{
privateFramefrm;
privateTextFieldtf;
publicstaticvoidmain(Stringargs[]){
Li8_07two=newLi8_07();
two.go();
}
publicvoidgo(){
frm=newFrame("三个监听器");
frm.add(newLabel("拖曳鼠标"),"North");
tf=newTextField(30);
frm.add(tf,"South");//使用缺省的布局管理器
frm.addMouseMotionLi