实验报告五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java语言程序设计》实验报告五
学生姓名:郭倩班级:信息112 学号:201152275208
实验地点:经管中心证券模拟实验室指导教师:赵利平
实验日期:2011-4-10
实验环境:Windows 2000+JDK1.6
1.实验目的
(1)理解子类派生的概念
(2)学习创建子类对象
(3)掌握方法覆盖的使用
2.实验内容
实验6-1
实验6-2
实验6-3
3.实验过程
报告撰写具体要求:上述实验内容要求写出源代码及运行结果。
实验内容(1):6-1
import javax.swing.*;
public class StringTest{
String string1,string2,string3,string4;
byte[]
byte1={72,101,106,106,111,32,110,101,119,32,67,111,114,106,100};
char[]
char2={'H','e','l','l','o',' ','n','e','w',' ','W','o','r','l','d'}; public StringTest(){
string1=new String();
string2=new String(byte1,6,9);
string3=new String(char2,0,5);
string4=JOptionPane.showInputDialog("输入一个字符串");
System.out.println();
System.out.println("字符串1:"+string1);
System.out.println("字符串2:"+string2);
System.out.println("字符串3:"+string3);
System.out.println("字符串4:"+string4);
}
public static void main(String args[])
{
StringTest st=new StringTest();
System.exit(0);
}
}
6-1
(1)求字符数组char2长度:char2.length
Char2的长度值:15
求String1的字符串长度:string1.length()
这时string的长度是1
(2)byte占一个内存char占两个内存,string2是从下标为6到下标为9,即{110,101,119,32}获取字符的。string3是从下标为0到下标为5即{'H','e','l','l','o'}获取字符,数组的类型不同
(3)Joptionpane.showmessage,.dialog()的方法的返回值是不是string,是引用类型
(4)原来string的字符不发生变化,又分配了一个新的空间,string1=”welcome”
原因:String 是一个final类,永久性,不能修改。
6-2
import java.util.Scanner;
public class StringExample{
public static void main(String args[]){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入三个字符串:");
String s1=scanner.next();
StringBuffer s2=new StringBuffer(s1);
String s3=scanner.next();
Object s4=new String(scanner.next());
if(s2.equals(s3))
s2.append(" "+s1);
else
s3.concat(" "+s4);
System.out.println("字符串1:"+s2+"\n字符串2:"+s3);
}
}
append用于修改缓冲区域的字符串,s3为string型,不是stringbuffer型,string型永久不变,故应改为s3.concat(" "+s4);
(2)改正编译错误后,程序运行的结果与题意不一致,程序应修改为:
思考:1)string对象和stringbuffer对象不能直接比较,若要比较,应将两者化为一样2)equal方法在string和stringbuffer中作用不同。在string中,equal比较字符串的是否具有相同的内容;在stringbuffer中,equal用于比较字符串内容是否都相同.
6-3
import javax.swing.*;
public class SequenceFinder{
String orignal;
StringBuffer strTemp;
String maxString;
String output="字符为:";
public SequenceFinder(){
orignal=JOptionPane.showInputDialog("请输入字符串");
strTemp=new StringBuffer(orignal);
maxString=find(strTemp);
output+=maxString.charAt(0)+",长度为:"+maxString.length();
JOptionPane.showMessageDialog(null,output);
}
public String find(StringBuffer str){
String temp=new String();
int maxLen=0;
String maxStr="";
while(str.length()>0){
temp="";
char ch=str.charAt(0);
temp+=ch;
int i;
for(i=1;i if(i>maxLen){maxStr=temp;maxLen=i;} str.delete(0,i-1);