上机实验 5-1 常用实用类

实验1 方法的重写

一、实验目的

    掌握常用方法的重写

二、实验内容

    编写一个学生类,重写equals()方法,当学生的姓名和年龄相同时,表示两个学生对象相同。重写toString()方法,调用该方法,输出学生的姓名和年龄,格式为 姓名:XXX,年龄:XX

Student

public class Student {
private String name;
private int age;
public Student() {
	
}
public Student(String name,int age) {
	this.name=name;
	this.age=age;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}
public String toString() {
	return "姓名:"+name+","+"年龄:"+age;}
public boolean equals(Object obj) {
	if(this==obj)
		return true;
	if(!(obj instanceof Student))
		return false;
	Student s=(Student)obj;
	return age==s.age&&name.equals(s.name);
}

Studenttest

public class Studenttest {
	public static void main(String args[]) {
		Student s1=new Student("张三",19);
		Student s2=new Student("张三",19);
		if(s1.equals(s2))
		System.out.println("两个学生对象相同");
		System.out.println(s1.toString());
		System.out.println(s2.toString());
		
	}
}

实验2 读程序写结果

一、实验目的

通过对程序的阅读,了解程序执行的过程,掌握常用类的用法

二、实验内容

1、请说出E类中标注的【代码】的输出结果

public class E1 {
	public static void main(String[] args) {
	 String str=new String("苹果");
	 modify(str);
	 System.out.println(str);//【代码】
	}
	public static void modify(String s) {
		s=s+"好吃";
	}
}

2、请说出E类中标注的【代码1】,【代码2】的输出结果

public class E2 {
public static void main(String args[]) {
	byte d[]="abc我们喜欢篮球".getBytes();
	System.out.println(d.length);//【代码1】
	String s=new String(d,0,7);//【代码2】
	System.out.println(s);
}
}

3、请说出E类中标注的【代码】的输出结果

class MyString {
	public String getString(String s) {
	StringBuffer str=new StringBuffer();
	for(int i=0;i<s.length();i++) {
		if(i%2==0) {
			char c=s.charAt(i);
			str.append(c);
		}
	}
	return new String(str);
	}
}
public class E3{
	public static void main(String[] args) {
    String s="1234567890";
    MyString ms=new MyString();
    System.out.println(ms.getString(s));//【代码】

	}

}

4、请说出E类中标注的【代码】的输出结果

public class E4 {
	public static void main(String[] args) {
		String regex="\\djava\\w{1,}";
		String str1="88javaookk";
		String str2="9javaHello";
		if(str1.matches(regex)) {
			System.out.println(str1);
		}
		if(str2.matches(regex)) {
			System.out.println(str2);
		}
	}
}

实验3 检索简历

一、实验目的

 本实验的目的是让学生掌握String类的常用方法

二、实验内容

   简历的内容如下:

   “姓名:张三 出生时间:1989.10.16。 个人网站:http://www.zhang.com。身高:185 cm,体重:72 kg”

FindMess

public class FindMess {
	public static void main(String args[]) {
	      String mess = "姓名:张三 出生时间:1989.10.16。个人网站:http://www.zhang.com。身高:185 cm,体重:72 kg";
	      int index =mess.indexOf(":");  //mess调用indexOf(String s)方法返回字符串中首次出现冒号的位置
	      String name = mess.substring(index+1);
	      if(name.startsWith("张")) {
	          System.out.println("简历中的姓名姓\"张\"");
	      }
	      index = mess.indexOf(":", index+1); //mess调用indexOf(String s,int start)方法返回字符串中第2次出现冒号的位置
	      String date = mess.substring(index+1,index+11);
	      System.out.println(date);
	      index = mess.indexOf(":",index+1);
	      int heightPosition =mess.indexOf("身高");// mess调用indexOf(String s)方法返回字符串中首次出现"身高"的位置
	      String personNet = mess.substring(index+1,heightPosition-1);
	      System.out.println(personNet);
	      index = mess.indexOf(":", heightPosition+1); //mess调用indexOf(String s,int start)方法返回字符串中"身高"后面的冒号位置
	      int cmPosition = mess.indexOf("cm");
	      String height = mess.substring(index+1,cmPosition);
	      height = height.trim();
	      int h = Integer.parseInt(height);
	      if(h>=180) {
	         System.out.println("简历中的身高"+height+",大于或等于180 cm");
	      }  
	      else {
	         System.out.println("简历中的身高"+height+",小于180 cm");
	      }
	      index = mess.lastIndexOf(":");//mess调用lastIndexOf(String s)返回字符串中最后一个冒号位置
	      int kgPosition = mess.indexOf("kg");
	      String weight = mess.substring(index+1,kgPosition);
	      weight = weight.trim();
	      int w = Integer.parseInt(weight);
	      if(w>=75) {
	         System.out.println("简历中的体重"+weight+",大于或等于75 kg");
	      }  
	      else {
	         System.out.println("简历中的体重"+weight+",小于75 kg");
	      }
	   }
	}

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值