实验报告五

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档