s+=i;
System.out.print(i+"+");
}
System.out.println(i+"="+(s+i));
}
}
实验二Java基本语法
1.实验目的
(1)掌握Java语言的基本语法。
(2)理解Java程序结构,熟练运用分支、循环等语句控制程序流程。
(3)掌握数组的使用方法,理解数组的引用模型。
(4)理解String类的使用方法,熟练使用对字符串变量进行的操作。
2.实验容
(1)用switch语句显示每月的天数。
如果输入不是数字1~12时,请输出错误信息。
要求:
当从命令提示符输入数字1~12时,按照如下格式输出:
请输入月份:
5
month=5,该月有31天
提示:
java.util.Scanner:
可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,以下代码使用户能够从System.in中读取一个整数:
Scannersc=newScanner(System.in);
inti=sc.nextInt();
注意:
程序需要导入java.util.Scanner类,接收键盘输入有可能发生异常。
(2)求一组数中的最大值和最小值。
例如,程序运行输出格式如下:
table:
8440163104928769470
Max=94
Min=3
提示:
数组中的元素可以采用Math.random()方法产生随机数来动态赋值,
random()方法返回带正号的double值,该值大于等于0.0且小于1.0。
(3)找出两个字符串中所有共同的字符。
(4)运行下面的程序,理解String类常用方法的使用。
publicclassstringTest{
publicstaticvoidmain(Stringargs[]){
Stringstr="Ilikejavaprogramming,javaisgood";
inti1=str.indexOf('j');
Strings1=str.substring(i1);
Strings2=str.substring(i1,i1+4);
inti2=str.lastIndexOf('j');
Strings3=str.substring(i2+5);
System.out.println("s1="+s1);
System.out.println("s2="+s2);
System.out.println("s3="+s3);}
}
实验三类与对象的设计
1.实验目的
(1)理解Java语言是如何体现面向对象编程的基本思想。
(2)了解类的封装方法。
(3)如何创建类和对象以及成员方法和构造方法的应用。
2.实验容
(1)设计银行账户类Bank,
添加成员变量:
✧账号、储户、开户时间、、存款余额等账户信息,
添加成员方法:
✧存款的方法income():
带有一个参数,用来表示存入的钱数(double型)。
该方法中要求先判断存入的钱数>0才允许存款。
✧取款的方法takeout():
带有一个参数,用来表示取出的钱数(double型),有返回值,需要返回实际取款金额。
该方法中需要考虑取款金额是否大于存款金额而确定实际取款金额。
✧显示余额的方法display()。
(2)编写一个图书类Book,成员变量包括:
图书的书名、作者、月销量等属性,定义两个构造方法:
一个不带参数,另一个带参数(初始化图书的相关属性);成员方法包括:
用于设置书名、作者、月销量等属性的setBook()、用于输出书名、作者、月销量等数据的printBook(),编译、运行输出如下格式的信息:
书名:
《****》
作者:
***
月销售量:
**本
实验四类的继承性与多态性
1.实验目的
(1)掌握类的继承原则。
(2)正确使用方法的重载和覆盖等多态概念设计可复用方法。
(3)掌握声明抽象类的方法,理解抽象类的作用。
2.实验容
(1)设计一个抽象类Graphics(图形类),包含私有成员变量shape(形状)、带参数的构造方法(确定该图形是什么形状)、用于计算面积的抽象方法area()、用于显示面积的成员方法print()。
(2)设计两个Graphics类的子类:
Rectangle类(矩形)和Circle类(圆),编译并运行使程序运行结果如下所示:
矩形的面积为:
100.0
圆的面积为:
314.93
实验五接口与包
1.实验目的
(1)掌握接口和的实现和使用方法。
(2)了解部类的实现原理。
(3)理解包的概念和作用,掌握包的编写以及如何使用包中的类。
2.实验容
(1)定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后分别设计MyCircle和MyRectangle两个类都实现这个接口中的方法calcualteArea(),分别计算圆的面积和矩形的面积。
(2)重新编写实验四的程序,要求将Circle类和Rectangle类放到不同的包中,用包的技术组织程序的设计。
(3)定义一个外部类Outer,包含属性name和方法getInfo(),在getInfo()方法中包含两个属性年龄age和性别sex,并定义一个部类Inner,在Inner有sayHello()方法,在sayHello()方法中输出、年龄和性别的信息。
实验六异常处理
1.实验目的
(1)理解Java异常处理机制。
(2)熟练运用异常的抛出、捕捉和处理的实现方法。
(3)掌握自定义异常类。
2.实验容
(1)在程序中主动产生一个ArithmeticException类型被0除的异常,并用catch语句捕获这个异常,最后调用ArithmeticException类的对象e的getMessage()方法显示出异常的具体类型。
(2)编写一个自定义的异常类,包含一个product()方法(用于两个数相乘),如果product()方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象,输出错误信息和乘积的值。
另外要求product()方法要用throws关键字声明该方法要抛出自定义异常和算术异常。
实验七图形用户界面设计
1.实验目的
(1)掌握JavaSwing组件的使用方法。
(2)理解委托事件处理模型。
(3)设计具有图形用户界面的、能够响应事件的Java应用程序。
2.实验容
(1)计算器程序雏形
该窗口模拟Windows的计算器功能,添加一个文本行和4个按钮,单击【1】、【2】、【+】按钮时,将按钮的标签添加到文本行中;单击【C】按钮时,清空文本行中的容;单击窗口的关闭按钮,将关闭该窗口。
程序运行窗口如下图所示。
(2)计算器
如果时间允许,实现计算器的加、减、乘、除等基本运算,参考如下图形界面。
实验八多线程机制
1.实验目的
(1)理解Java的多线程机制及线程同步。
(2)掌握线程的控制和线程同步实现方法。
2.实验容
(1)编写三个线程分别显示各自的运行时间,第一个线程每隔1秒钟运行一次,第二个线程每隔5秒钟运行一次,第三个线程每隔10秒钟运行一次。
(2)编写两个线程,一个线程向数组中存数据,一个线程向数组中取数据。
练习如何实现线程的同步。
(3)银行账户的存/取款线程设计
设计3个类:
账户类Account、存款线程类SaveLock、取款线程类FetchLock。
账户类Accout记录储户名和金额,提供存款方法put()和取款方法get()。
SaveLock和FetchLock类分别提供对指定账户的存/取款操作,在SaveLock和FetchLock类的run()方法账户声明临界区,锁定当前操作的账户对象,形成对同一个账户对象的互斥使用。
实验九Applet应用程序设计
1.实验目的
(1)熟悉Applet程序设计。
(2)掌握Applet生命周期中的各个方法的调用顺序。
(3)握各种图形界面元素的设计和输出。
2.实验容
1、编写一个Applet程序:
画图要求:
界面上有2个按钮,一个为标签为“椭圆”,另一个为“矩形”,点击后分别画红色的椭圆和蓝色的矩形,其宽度为100、高度为60,左上角顶点坐标为(50,50),试写出完整程序,并且要写出其对应的HTML文件代码。