实验讲义
上机题目一:试以Point类为例,尝试对Object类的clone()方法和equal()方法进行覆盖。
上机题目二:现在输入n个数字,以逗号分开、放入一个字符串中,然后按升序和降序排序,并显示排序结果。
第一个实验的代码
package com.whj.exam2;
public class Text {
public static void main(String[] args) throws CloneNotSupportedException
{
Piont p=new Piont(8,6);
Piont q=(Piont)p.clone();
System.out.println(p);
System.out.println(q);
System.out.println(q==p);
System.out.println(q.equals(p));
}
}
package com.whj.exam2;
public class Piont {
private int x;
private int y;
public int getX() {
return x;
}
public int getY() {
return y;
}
public Piont(int x, int y) {
super();
this.x = x;
this.y = y;
}
@Override
protected Object clone() throws CloneNotSupportedException {//异常化处理
return new Piont(x,y);
}
@Override
public boolean equals(Object obj) {
if(((Piont)obj).x==this.x&&((Piont)obj).y==this.y)
return true;
else
return false;
}
@Override
public String toString() {
return x+" "+y;
}
}
第一个实验主要是对object类中的equals(),clone(),tostring()类进行覆盖,覆盖中没有改变返回值的类型,所以我们就对他进行强制转换。
下面是第二个实验
package com.whj.exam2;
import java.util.Arrays;
public class NumerTest {
public static void main(String[] args) {
String [] str=splitstr.split("8,6,12,19,11,17");//定义分离字符串的类
int []number=new int [str.length];
for(int i=0;i<str.length;i++)
{
number[i]=Integer.parseInt(str[i]);//把字符转化为整型数
}
Arrays.sort(number);//进行排序
for(int i=0;i<str.length;i++)
{
System.out.println(number[i]);
}
System.out.println();
for(int i=(str.length-1);i>=0;i--)
{
System.out.println(number[i]);
}
}
}
package com.whj.exam2;
import java.util.StringTokenizer;//StringTokenizer 这个类 用来分割字符串
public class splitstr {
public static String[] split(String str) {
if(str==null||str.trim().equals(""))//trim()方法是去掉字符串前后的空格;
{
return null;
}
StringTokenizer s1=new StringTokenizer(str,",");//标记分离的标准,遇到,就分离;(分隔符)
String []s2=new String[s1.countTokens()];//计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数
int i=0;
while(s1.hasMoreTokens())//判断s1对象里的hasMoreTokens()方法是否有返回值(看有没有下一个匹配的字段)
{
s2[i]=s1.nextToken();//nextToken() 用于返回下一个匹配的字段
i++;
}
return s2;
}
}
做第二实验深刻感受到了 java语言与c语言的差别,java在写程序的时候,先是看api里面有没有我们需要的类,然后再查找里面的方法,而不是一开始就自己动手去写,用java还是有点不太适应,感觉java里面的类和方法真的好多,还有好多都不熟悉,还要好好努力啊!!