this.radius=radius; MyInterface //定义Rectangle(2,3); //用 } Sanjiao继承Shape Rectangle创建对象rec public double getArea() { System.out.println(\矩//定义方法获得面积 public double a,b,c,s; 形的面积 { //定义三条边a,b,c 为:\ return Sanjiao(double System.out.println(\矩PI*radius*radius; a,double b,double c) //定形的周长 }
义构造方法初始化三条边 为:\
public double
{ ; getZhouchang() //定义 this.a=a;
Sanjiao san=new 方法获得周长 this.b=b; Sanjiao(3,4,5); // { this.c=c;
用Sanjiao创建对象san return }
2*PI*radius; public double getArea() System.out.println(\三 } 角形的面积//定义方法获得面积 } 为:\ { class Rectangle s=(a+b+c)/2; // System.out.println(\三implements MyInterface形的周长利用海伦公式计算三角形角 //定义矩形继承Shape 为:\面积 { ; return public double
Math.sqrt(s*(s-a)*(s-b)*(s
width,height; //定义长} -c)); 和宽 } } Rectangle(double public double 输出结果: width,double height) getZhouchang() 圆形的面积为:78.5 { { 圆形的周长 this.width=width; return a+b+c;
为:31.400000000000002 this.height=height; }
矩形的面积为:6.0 } }
矩形的周长为:10.0 public double getArea()public class Test1
三角形的面积为:6.0 //定义方法获得 {
面积 public static void 三角形的周长为:12.0 { main(String args []) 实验5 return { 集合与泛型 width*height; Circle cir=new 一、实验目的 } Circle(5); //用Circle 理解集合的概念与各 public double 创建对象cir
种集合实现类的操作,理
getZhouchang() //定义方 System.out.println(\圆
解泛型的概念与泛型的简
法获得周长 形的面积单使用。 { 为:\.getArea()); 二、实验要求 return
System.out.println(\圆1.理解Collection接2*(width+height);
形的周长口、List接口、Set }
为:\.getZhouchang()); } 接口和Map接口的
rec=new class Sanjiao implements Rectangle 含义与区别。
2.熟练掌握 *方法包括设置和获取上ArrayList、述属性的方法、并且包括HashSet、TreeSet、获取总分的方法。 HashMap、 (2) 创建若干个StudentHashTable等集合对象 类的常用方法、理解 ,将这些对象添加到他们之间的区别 ArrayList集合中(要求3.理解泛型的概念、在ArrayList集合启用泛型实际集合框架中会机制,其中只能存放使用泛型。 Student类型的对象), 三、实验要求 能够实现对ArrayList1. (1) 定义Student类,类中保存的Student对象进的属性包括学号、姓名、行遍历。
语文成绩、英语成绩、数 (3) 根据学号在学成绩。方法包括设置和ArrayList中查询特定的获取上述属性的方法、并学生对象
且包括获取总分的方法。 ,如果这个对象存在, (2) 创建若干个Student将这个学生对象添加到对象,将这些对象添加到TreeSet集合的对象中, ArrayList集合中(要求 要求TreeSet中按照学ArrayList集合启用泛型生的总分进行升序排列,机制,其中只能存放实现对TreeSet的遍历,将Student类型的对象),能TreeSet中保存的对象输够实现对ArrayList中保出。 存的Student对象进行遍*/
import java.util.*; 历。
(3) 根据学号在class Student
{
ArrayList中查询特定的
int s_id; //定义学生学
学生对象,如果这个对象
号
存在,将这个学生对象添
String s_name; //定义学
加到TreeSet集合的对象
生姓名
中,要求TreeSet中按照学
double s_chinese; //定义
生的总分进行升序排列,
学生语文成绩
实现对TreeSet的遍历,将
double s_english;//定义学
TreeSet中保存的对象输
生英语成绩
出。
double s_math; //定义学Test.java
/*1. (1) 定义Student类,生数学成绩
void set_id(int s_id) //
类的属性包括学号、姓名、定义设置学生学号方法
语文成绩、英语成绩、数
{
学成绩。 this.s_id=s_id;
}
void set_name(String s_name) //定义设置学生姓名方法 {
this.s_name=s_name; }
void set_chinese(double s_chinese) //定义设置学生语文成绩方法 {
this.s_chinese=s_chinese; }
void set_english(double s_english) //定义设置学生英语成绩方法 {
this.s_english=s_english; } void set_math(double s_math) //定义设置学生数学成绩方法 {
this.s_math=s_math; }
int get_id() //定义获取学生学号方法 {
return s_id; }
String get_name() //定义获取学生姓名方法 {
return s_name; }
double get_chinese() //定义获取学生语文成绩方法 {
return s_chinese; }
double get_english()//定义获取学生英语成绩方法
{
return s_english; }
double get_math() //定义获取学生数学成绩方法 {
return s_math; }
double get_sum() //定义获取学生总分的方法 {
return
s_chinese+s_english+s_math; }
}
public class Test {
public static void main(String args[]) {
Student s1=new Student(); //创建一个学生对象s1
s1.set_id(1);
s1.set_name(\张三\
s1.set_chinese(90); s1.set_english(80); s1.set_math(87); Student s2=new Student(); //创建一个学生对象s2
s2.set_id(2);
s2.set_name(\李四\
s2.set_chinese(88); s2.set_english(79); s2.set_math(99); Student s3=new Student(); //创建一个学生对象s3
s3.set_id(3);
s3.set_name(\王五\
s3.set_chinese(74); s3.set_english(76); s3.set_math(50); System.out.println(\学生学号为:\
System.out.println(\学生姓名为:\ System.out.println(\学生语文成绩为:\ System.out.println(\学生英语成绩为:\ System.out.println(\学生数学成绩为:\ System.out.println(\学生总成绩为:\ System.out.println(\学生学号为:\
System.out.println(\学生姓名为:\ System.out.println(\学生语文成绩为:\ System.out.println(\学生英语成绩为:\ System.out.println(\学生数学成绩为:\ System.out.println(\学生总成绩为:\
System.out.println(\学生学号为:\
System.out.println(\学生姓名为:\ System.out.println(\学生语文成绩为:\ System.out.println(\学生英语成绩为:\ System.out.println(\学生数学成绩为:\ System.out.println(\学生总成绩为:\
ArrayList
ArrayList
Student
item[]={s1,s2,s3}; //遍历s1,s2,s3 for(int
i=0;i System.out.println(item[i]); } } 输出结果: s1学生学号为:1 s1学生姓名为:张三 s1学生语文成绩为:90.0 s1学生英语成绩为:80.0 s1学生数学成绩为:87.0 s1学生总成绩为:257.0 s2学生学号为:2 s2学生姓名为:李四 s2学生语文成绩为:88.0 s2学生英语成绩为:79.0 s2学生数学成绩为:99.0 s2学生总成绩为:266.0 s3学生学号为:3 s3学生姓名为:王五 s3学生语文成绩为:74.0 s3学生英语成绩为:76.0 s3学生数学成绩为:50.0 s3学生总成绩为:200.0 Student@c17164 Student@1fb8ee3 Student@61de33 实验:异常处理 Test.java interface Area_Grid { public abstract double get_area() throws Myexception; public abstract double get_grid() throws Myexception; } class Myexception extends Exception { void get_exception() { System.out.println(\不能构成三角形!\ } } class Sanjiao implements Area_Grid { double a,b,c,s; public Sanjiao(double a,double b,double c) { this.a=a; this.b=b; this.c=c; } public double get_area() throws Myexception { if (a>0&&b>0&&c>0&&(a+b)>c&&(a+c)>b&&(b+c)>a) { s=(a+b+c)/2; return Math.sqrt(s*(s-a)*(s-b)*(s-c)); } else { throw new Myexception(); } } public double get_grid() { return a+b+c; } } public class Test { public static void main(String args[]) { Sanjiao s=new Sanjiao(3,4,5); try { System.out.println(\三 角形的面积为:\ System.out.println(\三角的周长为:\; } catch (Myexception e) { e.get_exception(); } finally { System.out.println(\运行结束!\ } } } 输出结果: 三角形的面积为:6.0 三角的周长为:12.0 运行结束!