java实验的心得体会
java实验心得体会篇一:java实验总结
1. 设计一个Person类,包含:姓名,年龄,性别。要求:该类至多只能创建一男、一女两个对象!
2. 设计一个测试类Test,创建若干个Person类对象,测试是否符合要求。 package test8;
class person {
String name;
int age;
char sex;
static int flag1 = 1, flag2 = 1;
private person(String n, int a, char s) {
name = n;
age = a;
sex = s;
if (s == 'm') {
flag1--;
}
if (s == 'f') {
flag2--;
}
}
public static person newperson(String n, int a, char s) {
if (s == 'm' && flag1 != 0) {
person p = new person(n, a, s);
return p;
} else if (s == 'f' && flag2 != 0) {
person p = new person(n, a, s);
return p;
} else {
return null;
}
}
public String toString() {
return ("name:" + name + " age:" + age + " sex:" + sex);
}
}
public class test {
public static void main(String[] args) {
person p1 , p2 , p3 ;
p1= person.newperson("mary", 11, 'f');
p2=person.newperson("tom", 14, 'm');
p3=person.newperson("jane", 13, 'f');
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
}
}
1. 设计一个数据单元类DataUnit, 它包含学号(Number)和姓名(Name)两个数据成员。
2. 设计两个线程,一个线程往数据单元里写信息,一个线程从数据单元里读信息。要求使用线程同步技术,使得每写一次就往外读一次。例如,写和读的数据序列为:
Write: 1, Name1
Read: 1, Name1
Write: 2, Name2
Read: 2, Name2
...
package test7;
class DataUnit{
int number;
String name;
int max;
boolean flag=false;
public DataUnit(int number, String name,int max){
this.name=name;
this.max=max;
}
public synchronized void in(){
if(flag){
try{
wait()