实验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");
}
}
}