public class Z4_5 {
private boolean isEmpty;
private final int size = 10;
private int current;
private int set[] = new int[size];
public Z4_5() {
this.isEmpty = true;
this.current = 0;
for (int i = 0; i < size; i++)
this.set[i] = 0;
}
public void Clear() {
this.isEmpty = true;
this.current = 0;
for (int i = 0; i < this.size; i++)
this.set[i] = 0;
}
public boolean MergeIntegerSets(Z4_5 arg1, Z4_5 arg2) {
if (arg1.isEmpty && arg2.isEmpty) {
this.Clear();
return true;
}
if (arg1.isEmpty == true) {
this.isEmpty = false;
this.current = arg2.current;
for (int i = 0; i < this.size; i++)
this.set[i] = arg2.set[i];
return true;
}
if (arg2.isEmpty == true) {
this.isEmpty = false;
this.current = arg1.current;
for (int i = 0; i < this.size; i++)
this.set[i] = arg1.set[i];
return true;
}
if (arg1.equal(arg2) == true) {
this.isEmpty = false;
this.current = arg1.current;
for (int i = 0; i < this.size; i++)
this.set[i] = arg1.set[i];
return true;
}
Z4_5 tmp = new Z4_5();
tmp.isEmpty = false;
tmp.current = this.current;
for (int i = 0; i < this.size; i++)
tmp.set[i] = this.set[i];
this.isEmpty = false;
this.current = arg1.current;
for (int i = 0; i < this.size; i++)
this.set[i] = arg1.set[i];
for (int i = 0; i < arg2.size; i++) {
if (this.isIn(arg2.set[i]) == false) {
if (this.current == 10) {
System.out.println("IntegerSet Over flow!");
this.isEmpty = false;
this.current = tmp.current;
for (int j = 0; j < this.size; j++)
this.set[j] = tmp.set[j];
return false;
}
this.InsertElement(arg2.set[i]);
}
}
return true;
}
public boolean IntersectIntegerSet(Z4_5 arg1, Z4_5 arg2) {
if (arg1.isEmpty == true || arg2.isEmpty == true)
return true;
for (int i = 0; i < this.size; i++)
if (arg2.set[i] != 0 && arg1.isIn(arg2.set[i]) == true)
this.InsertElement(arg2.set[i]);
return true;
}
public boolean InsertElement(int arg) {
if (arg < 20 || arg > 80) {
System.out.println("The argument must >20 and <80");
return false;
}
if (this.isEmpty == true) {
this.isEmpty = false;
this.current++;
this.set[0] = arg;
return true;
}
if (this.current == 10)
return false;
if (this.isIn(arg) == true) {
System.out.println(arg + " is already in the IntegerSet!");
return false;
}
for (int i = 0; i < this.size; i++) {
if (this.set[i] == 0) {
this.set[i] = arg;
this.current++;
return true;
}
}
return false;
}
public boolean DeleteElement(int arg) {
if (arg < 20 || arg > 80) {
System.out.println("The argument must >20 and <80");
return false;
}
if (this.isEmpty == true)
return false;
else {
if (this.isIn(arg) == true) {
int pos = size - 1;
for (int i = 0; i < size; i++)
if (this.set[i] == arg)
pos = i;
this.current--;
if (this.current == 0)
this.isEmpty = true;
this.set[pos] = 0;
return true;
} else {
System.out.println(arg + " is not in the IntegerSet!");
return false;
}
}
}
public boolean valid() {
for (int i = 0; i < this.size; i++) {
if (this.set[i] == 0)
continue;
if (this.set[i] < 20 || this.set[i] > 80)
return false;
}
return true;
}
public boolean equal(Z4_5 arg) {
for (int i = 0; i < size; i++)
if (this.isIn(arg.set[i]) == false)
return false;
return true;
}
public boolean isIn(int arg) {
if (this.isEmpty == true)
return false;
for (int i = 0; i < size; i++)
if (arg == set[i])
return true;
return false;
}
public void print() {
System.out.print("( ");
for (int i = 0; i < this.size; i++)
System.out.print(this.set[i] + " ");
System.out.print(")\n");
}
public static void main(String[] args) {
Z4_5 t1 = new Z4_5();
Z4_5 t2 = new Z4_5();
Z4_5 t3 = new Z4_5();
Z4_5 t4 = new Z4_5();
t1.InsertElement(30);
t1.InsertElement(33);
t1.InsertElement(38);
System.out.println("t1");
t1.print();
t2.InsertElement(30);
t2.InsertElement(32);
t2.InsertElement(38);
t2.InsertElement(43);
t2.InsertElement(54);
System.out.println("t2");
t2.print();
t3.MergeIntegerSets(t1, t2);
t3.print();
t4.IntersectIntegerSet(t1, t2);
t4.print();
}
}
一些Java实验的例子
需积分: 0 153 浏览量
更新于2008-10-13
收藏 11KB RAR 举报
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而闻名。"一些Java实验的例子"这个标题表明我们即将探讨的是与Java编程相关的实践性学习资源,可能是包含一系列的代码示例或者小型项目,旨在帮助初学者或有经验的开发者深化对Java语言的理解。
描述中提到的“我找的一些java实验”,暗示了这些实验可能涵盖Java的基础概念到高级特性,包括但不限于数据类型、控制结构、类和对象、继承、多态、接口、异常处理、集合框架、IO流、线程、网络编程等。这些实验可能以问题的形式提出,要求读者通过编写代码来解决,从而提升编程技能。
在Java的学习过程中,实践是至关重要的。例如,通过编写简单的"Hello, World!"程序,我们可以理解如何在Java中进行基本的输入输出操作。接着,学习变量、常量和数据类型,了解它们在内存中的表示以及如何使用它们进行计算。控制结构如if语句和循环(for、while)则帮助我们实现逻辑判断和重复执行。深入到面向对象编程,我们需要掌握类的定义、对象的创建以及封装、继承和多态等核心概念。
Java的集合框架包括ArrayList、LinkedList、HashSet、HashMap等,这些都是处理数据的重要工具。实验可能要求读者理解各种集合类的内部工作原理,并能根据实际需求选择合适的数据结构。IO流用于读写文件,网络编程涉及到Socket通信,这些都与实际应用密切相关。
此外,异常处理是Java程序健壮性的关键,学习如何使用try-catch-finally结构捕获并处理错误是必要的。线程是并发编程的基础,理解线程的创建、同步和通信对于构建多任务应用至关重要。
标签"java"进一步确认了这些实验与Java语言的直接关联。在实际的压缩包文件中,每个文件名可能代表一个独立的实验,比如"实验1-数组操作"、"实验2-字符串处理"等,每个实验都可能包含详细的步骤、预期结果和解决方案。
这些Java实验例子是一个全面学习Java的好材料,能够帮助学习者通过实际操作来巩固理论知识,提升编程能力。对于初学者来说,这是一条循序渐进掌握Java编程的途径;对于有经验的开发者,这也可以作为复习和拓展知识的参考资料。建议按照实验的顺序逐步进行,同时结合相关书籍和在线教程,以获得更全面的理解。