资源预览内容
第1页 / 共96页
第2页 / 共96页
第3页 / 共96页
第4页 / 共96页
第5页 / 共96页
第6页 / 共96页
第7页 / 共96页
第8页 / 共96页
第9页 / 共96页
第10页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
华华 北北 电电 力力 大大 学学任务 从一个带有路径的文件从一个带有路径的文件名中分离出文件名和路名中分离出文件名和路径径C:Program FilesC:Program FilesJdkreadme.htmlJdkreadme.html华华 北北 电电 力力 大大 学学字符串n在在JavaJava中,字符串被当作对象来处理。中,字符串被当作对象来处理。n字符串分类字符串分类字符串常量字符串常量v创建之后不能再修改。创建之后不能再修改。v用用StringString类来创建字符串常量。类来创建字符串常量。字符串变量字符串变量v创建之后可以做修改。创建之后可以做修改。v一般用一般用StringBufferStringBuffer类来创建。类来创建。StringString类类和和StringBufferStringBuffer类都在类都在java.langjava.lang包中。包中。华华 北北 电电 力力 大大 学学类String字符串定义q可以用字符串常量直接初始化一个String对象 Strings=HelloWorld;q通过构造方法构造方法构造方法说说明明String()它将创建一个空字符串String(Stringoriginal)根据指定字符串,创建一个新字符串String(charvalue)根据字符数组构造一个新字符串String(bytevalue)根据指定的字节数组,新建一个字符串 char chars = a , b , c ; String s = new String( chars ); String s=new String(“hello”);或:或: String s=“hello”;String s = new String( ); byte byte bytestrbytestr = 97,98,99 ; = 97,98,99 ; String s= new String s= new String(bytestrString(bytestr););华华 北北 电电 力力 大大 学学字符串变量和普通变量的区别String构造方法的使用举例 public static void main(String args) String s,s1,s2,s3,s4,s5,s6,s7; byte byteArray =(byte)J,(byte)a,(byte)v,(byte)a; char charArray = 程,序,设,计,课,程; StringBuffer sb = new StringBuffer(欢迎); s = new String(Hello!); s1 = new String(); s2 = new String(s); s3 = new String(sb); s4 = new String(charArray); s5 = new String(charArray,2,4); s6 = new String(byteArray); s7 = new String(byteArray,0,1); Hello!Hello!欢迎程序设计课程设计课程JavaJ华华 北北 电电 力力 大大 学学字符串长度由 length() 方法确定语法语法public int length();返回字符串中的字符数String的常用方法字符串长度String name = John Smith;System.out.println (name.length();华华 北北 电电 力力 大大 学学String的常用方法字符串比较字符串变量 1字符串变量 2字符串变量字符串变量1字符串变量字符串变量2由 equals() 方法确定检查字符串变量指向的字符串是否相等同一个对象用 = 运算符检查检查字符串变量是否指向同一个字符串对象华华 北北 电电 力力 大大 学学 publicclassStringComparepublicstaticvoidmain(Stringargs)Strings1=abc;Strings2=abcd;System.out.println(s1=s2);System.out.println(s1.equals(s2);Stringt1=newString(abc);Stringt2=newString(abc);System.out.println(t1=t2);System.out.println(t1.equals(t2);Stringt3=t1;System.out.println(t1=t3);System.out.println(t1.equals(t3);字符串比较举例字符串比较举例程序运行结果如下:程序运行结果如下:falsefalsefalsefalsefalsefalsetruetruetruetruetruetrue华华 北北 电电 力力 大大 学学字符串比较方法方法方法说说明明booleanequalsIgnoreCase(Stringvalue)比较两个字符串,忽略大小写intcompareTo(Stringvalue)比较两个字符串,返回两者之间的差值。如果两个字符串相等,则返回 0。booleanstartsWith(Stringvalue)检查一个字符串是否以另一个字符串开始booleanendsWith(Stringvalue)检查一个字符串是否以另一个字符串结束华华 北北 电电 力力 大大 学学字符串连接 在在JavaJava中,运算符中,运算符“”可以用来实现字符串的可以用来实现字符串的连接,如:连接,如:String s=String s=“He isHe is”+age+age+”years old.years old.”假设整数型变量假设整数型变量ageage的值为的值为1515,那么,那么,s s的值为的值为“ “He is 15 years oldHe is 15 years old”。华华 北北 电电 力力 大大 学学搜索字符和字符串字符串字符串1情形情形1:indexOf(character)方法方法找到第一个匹配索引 0 1 2 3情形情形2:如果没有找到匹配,则返回 -1返回找到的第一个匹配的位置索引华华 北北 电电 力力 大大 学学方法方法说说明明int indexOf ( int ch)返回字符ch在字符串中出现的第一个位置int lastIndexOf ( int ch)返回字符ch在字符串中出现的最后一个位置int indexOf(String str) 返回子串str首字符在字符串中第一次出现的位置int lastindexOf(String str)返回子串str首字符在字符串中最后出现的位置搜索字符和字符串华华 北北 电电 力力 大大 学学搜索字符串举例_判断邮箱正确性publicclassSearchStringpublicstaticvoidmain(Stringargs)Stringname=JohnSmith123.com;System.out.println(“EmailID是是:+name);System.out.println(“的索引是的索引是:+name.indexOf();System.out.println(“.的索引是的索引是:+name.indexOf(.);if(name.indexOf(.)name.indexOf()System.out.println(“该电子邮件地址有效该电子邮件地址有效);elseSystem.out.println(“该电子邮件地址无效该电子邮件地址无效);邮箱格式:XXXXXX.com判断:应该在.之前华华 北北 电电 力力 大大 学学字符串提取、连接、替换等方法方法方法说说明明publiccharcharAt(intindex)从指定位置提取单个字符,该位置由索引指定,索引中的值必须为非负publicStringsubstring(intindex) 提取从位置索引开始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取 beginindex(包含) 和 endindex(不包含) 位置之间的字符串部分publicStringconcat(Stringstr)连接两个字符串,并新建一个包含调用字符串的字符串对象publicStringreplace(charold,charnew)将调用字符串中出现某个字符的所有位置都替换为另一个字符publicStringtrim()将调用字符串的前后空格删掉publicStringtoLowerCase()把串中的所有字符转换成小写。publicStringtoUpperCase()把串中的所有字符转换成大写。Stringsplit(Stringregex) 根据给定正则表达式的匹配拆分此字符串。华华 北北 电电 力力 大大 学学任务实现:分分离离文文件件名名和和路路径径public class GetFilenameprivate String fullPath;private char pathSepatator=;public GetFilename(String fname) fullPath=fname; public String getName() int pos=fullPath.lastIndexOf(pathSepatator); if (pos=-1) return fullPath; else return fullPath.substring(pos+1); public String getPath() int pos=fullPath.lastIndexOf(pathSepatator);if(pos=-1) return fullPath; else return fullPath.substring(0,pos); public static void main(String args) GetFilename fn=new GetFilename(F:avamyexamplea.java);System.out.println(fn.getName();System.out.println(fn.getPath();C:Program FilesC:Program FilesJdkreadme.htmlJdkreadme.html华华 北北 电电 力力 大大 学学字符串与基本数据的相互转化q各种基本数据类型与String类型之间可以通过方法相互转换。 qString类中的valueOf()系列方法用于从基本数据类型转换成字符串。public static String valueOf(Boolean b)public static String valueOf(char c)public static String valueOf(int i)public static String valueOf(long l)public static String valueOf(float f)public static String valueOf(double d)华华 北北 电电 力力 大大 学学q将字符串转化为基本数据类型qJava.lang包中的各种基本数据类型类都具有相应的类方法实现转化操作。public static byte parseByte(String s)public static short parseShort(String s)public static long parseLong(String s)public static int parseInt(String s)public static float parseFloat(String s)public static double parseDouble(String s)String s=“123”;Int i=Integer.parseInt(s);华华 北北 电电 力力 大大 学学任务 判断一个字符串是否为回文,即将一个字符串进行反转,得到的字符串与源串相同:例如原始字符串为“aba”, 逆转后的字符串也为“aba”。华华 北北 电电 力力 大大 学学不变性String类类创建后直接修改直接修改不变性的概念解决方法解决方法StringBuffer 类String 的对等类表示可增加和可编写字符的可变序列将字符插入到字符串中间或附加到字符串末尾华华 北北 电电 力力 大大 学学StringBuffer 类构造方法构造方法说说明明public StringBuffer()分配长16字节的字符缓冲区 public StringBuffer (int length)分配长度为length的空缓冲区public StringBuffer(Stringvalue)接收字符串作为初值,后面再留 16 个字符的空缓冲区。q StringBuffer 用于表示可以修改的字符串q 使用连接运算符 (+) 的字符串会自动创建字符串缓冲对象华华 北北 电电 力力 大大 学学StringBuffer 类的方法方法方法说说明明int length( )确定 StringBuffer 对象的长度public void setLength(int newLength)明 确 地 定 义 字 符 缓 冲 区 的 长 度 。 如 果newlength大于现在的长度,串尾将补0,如果小于,那么newlength后的字符将丢失。int capacity() 返回字符串缓冲区的长度,即总的可供分配的字符个数。void setCharAt(int pos, char ch)使用 ch 指定的新值设置 pos 指定的位置上的字符String toString( )转换为字符串形式华华 北北 电电 力力 大大 学学StringBuffer 类的方法方法方法说说明明StringBuffer insert(int offset,String s)在指定位置插入指定的字符串public StringBuffer append(对象类型 对象名)将指定的参数对象转化成字符串,附加在原来的字符串对象之后。StringBuffer reverse()将此字符序列用其反转形式取代 StringBuffer delete(int start, int end)删除调用对象中从 start 位置开始直到 end 指定的索引 1 位置的字符序列。StringBuffer deleteCharAt(int pos)删除 pos 指定的索引处的字符StringBuffer replace(int start, int end, String s)使用一组字符替换另一组字符。将用替换字符串从 start 指定的位置开始替换,直到 end 指定的位置结束。华华 北北 电电 力力 大大 学学String与StringBuffer的转换q产生一个內容与String对象str相同的StringBufffer对象:StringBuffer sb = new StringBuffer(str); q产生一个內容与StringBuffer对象sb相同的String对象:String sb = sb.toSting();class demoOfStringBuffer public static void main (String buf ) StringBuffer sb = new StringBuffer (abc); System.out.println (buffer= + sb ); System.out.println (“length=” + sb.length() ; System.out.println ( capacity= + sb.capacity(); 运行结果:运行结果: buffer=buffer=abcabclength=3length=3capacity=19capacity=19u从运行结果我们可以看到为附加从运行结果我们可以看到为附加处理保留了空间。处理保留了空间。u注意:注意:capacity()capacity()与与length()length()的区的区别。别。华华 北北 电电 力力 大大 学学举例public class StringBuf public static void main(String args) StringBuffer buf = new StringBuffer(Java); buf.append(“ Guide Ver1/”); buf.append(3); int index = 5; buf.insert(index, Student ); index = 23; buf.setCharAt(index, .); int start = 24; int end = 25; buf.replace(start, end, “6); String s = buf.toString(); /转换为字符串 System.out.println(s); Java Student Guide Ver1.6Java Student Guide Ver1.6华华 北北 电电 力力 大大 学学编程练习q输入的一个字符串中包含了一个人的姓名、性别输入的一个字符串中包含了一个人的姓名、性别和年龄。中间用空格隔开。和年龄。中间用空格隔开。 要求从该字符串中提取出姓名、性别和年龄并赋要求从该字符串中提取出姓名、性别和年龄并赋给相应的变量。表示年龄的变量是整型的。给相应的变量。表示年龄的变量是整型的。q搜索字符串搜索字符串S S中是否包含中是否包含s1s1,如果包含,则替换为,如果包含,则替换为s2s2。注意。注意s1s1和和s2s2的长度不一定相等。的长度不一定相等。华华 北北 电电 力力 大大 学学3.3 数组p数组是一种最简单的复合数据类型,是一组同类型有序数据的集合。p数组分为一维数组和多维数组。p数组的元素既可以是简单类型,也可以是引用类型。华华 北北 电电 力力 大大 学学Java中创建数组的步骤q声明数组q创建数组空间华华 北北 电电 力力 大大 学学q声明一维数组的两种形式 数组元素类型数组名 ; 数组元素类型 数组名;一一 维维 数数 组组q创建数组空间 数组名new 数组元素类型元素个数; 可以为基本类型或复合类型不能指出数组中元素的个数 int intArray; float f1 , f2;intArrayintArray=new int3f1=new float10;f2=new float20; 华华 北北 电电 力力 大大 学学简单类型数组分配内存示意图0xb1ca intArray0 intArray1 intArray2int intArray ;定义一个定义一个intint类型的数组变量,给变量类型的数组变量,给变量IntArrayIntArray分配分配1 1个存储空间,初始化为个存储空间,初始化为nullnull。intArraynullintArray=new int3; 申请申请3 3个个intint类型的存储空间,并将首地址赋给变量类型的存储空间,并将首地址赋给变量IntArrayIntArray。0xb1ca华华 北北 电电 力力 大大 学学int intArray; intArray =new int5 float f1 , f2;f1=new float10;f2=new float20; int intArrayintArray=new int5float f1=new float10;float f2=new float20; 一一 维维 数数 组组q声明数组和创建数组空间可组合在一起, 用一条语句完成。华华 北北 电电 力力 大大 学学创建可变长数组int size;size= System.in.read();int number = new intsize;float f=new float10;for(int i=0;if.length;i+) fi = i+10; f=new float20;q根据输入的数据来定义数组长度q在程序中随时修改数组长度重新定义后数组元素初始化为0华华 北北 电电 力力 大大 学学整型整型:0实型实型:0.0f 或 0.0d字符字符:0引用类型引用类型:null 数组创建后,系统自动为数组元素赋初值。 所以数组的创建也称为动态初始化。数组元素的默认初值数组元素的默认初值华华 北北 电电 力力 大大 学学一维数组静态初始化与声明类型一致的初始值int intArray = 1,2,3,4,5;double decArray = 1.1,2.2,3.3;String strArray = Java,BASIC,FORTRAN;类型 数组名 = 元素1,元素2华华 北北 电电 力力 大大 学学边边 界界 检检 查查v Java对数组元素进行越界检查。v 对于每个数组都有一个属性length指明 自身的长度,如: f1.length指明数组f1的长度。 华华 北北 电电 力力 大大 学学例:为数组元素赋值并逆序输出例:为数组元素赋值并逆序输出 public class public class ArrayTestArrayTest public static void main( String public static void main( String argsargs ) ) intint i; i; intint a = new int5; a = new int5; for( i=0; i for( i=0; i=0; i- ) ; i=0; i- ) System.out.println(a+iSystem.out.println(a+i+ = + = +aiai);); 运行结果为:运行结果为:a4 = 4a4 = 4a3 = 3 a3 = 3 a2 = 2 a2 = 2 a1 = 1a1 = 1a0 = 0a0 = 0for-each格式的循环语句for(Typevalue:array)expressionvalue;for(int i=0; ia.length; i+ ) System.out.println(ai);for( int x:a) System.out.println(x);q作用:顺次遍历数组中的元素,并将元素的值赋给临时变量。q缺点:只能顺次遍历每个元素;只能读取,不能写入。数组名华华 北北 电电 力力 大大 学学static double average(double score) int i; double sum=0,ave; for(i=0;iscore.length;i+) sum+=scorei; ave=sum/score.length; return(ave); 实现实现sort方法总体实现总体实现 期末考试结束,编写方法期末考试结束,编写方法averageaverage求出某班级前求出某班级前1010名名同学同学JavaJava课程的平均分,并编写方法课程的平均分,并编写方法sortsort将前将前1010同同学的成绩按由高到底进行排序学的成绩按由高到底进行排序。实现实现average方法static void sort(double score)int i,j;double temp;for(i=0;iscore.length;i+) for(j=i+1;jscorej) temp=scorei; scorei=scorej; scorej=temp;publicclassScorepublicstaticvoidmain(Stringargs) doublea=78,89,57,87,98,65,43,79,69,86; doubleaver=average(a); System.out.println(aver); sort(a); for(intk=0;k10;k+)System.out.print(ak+);华华 北北 电电 力力 大大 学学1.创建数组 type arrayName =new typearraySize;2.创建每一个数组元素 arrayName0=new type(paramList); arrayName1=new type(paramList); arrayNamearraySize-1=new type(paramList);对象数组的创建华华 北北 电电 力力 大大 学学对象数组内存分配示意图对象数组内存分配示意图stringArrayoxa2b6how0xb1caare0xd3cayou0xa5c7oxa2b60xb1ca0xd3ca0xa5c7StringArray0StringArray1StringArray2StringstringArray; stringArray=newString3;stringArray0=newString(“how”);stringArray1=newString(“are”);stringArray2=newString(“you”);nullnullnullnull华华 北北 电电 力力 大大 学学将学生姓名存储在字符数组中,当输入一个姓名时,进行查找,并给出结果。public class Searchpublic class Search public static void public static void main(Stringmain(String argsargs) int i; String studentName=new String30; Scanner sc=new Scanner(System.in); for(i=0;i5;i+) studentNamei=sc.next();System.out.println(输入要查的学生:);String xm=new String();xm=sc.next();for(i=0;i=5) System.out.println(没找到); 华华 北北 电电 力力 大大 学学多维数组q在Java语言中,多维数组被看作数组的数组。q使用二维数组可方便地处理表格形式的数据。华华 北北 电电 力力 大大 学学二维数组的声明声明二维数组的一般形式为: 类型 数组名 ; 或 类型 数组名; 或 类型 数组名 ;如:如: intint aa; intint a; a; intint a;a;华华 北北 电电 力力 大大 学学分配存储空间 为二维数组分配空间有两种方法:q 静态初始化q 使用new运算符(动态初始化)在Java语言中,由于把二维数组看作是数组的数组,数组空间不一定连续分配。所以不要求二维数组每一维的大小相同。华华 北北 电电 力力 大大 学学二维数组的静态初始化静态初始化是在声明数组的同时就为数组元素指定初值。例如: int intArray = 1,2,3,4,5,6,7;不必指出数组每一维的大小,系统会根据初始化时给出的初始值的个数自动算出数组每一维的大小。华华 北北 电电 力力 大大 学学1.1.直接为每一维分配空间。直接为每一维分配空间。 type arrayName =new typelength1length2int a =new int34;二维数组的动态初始化2.2.分别为每一维分配空间(必须从最高维开始)。分别为每一维分配空间(必须从最高维开始)。111121int a=new int3a0=new int1a1=new int2a2=new int3000000000000第2维的维数相同,是规则的二维数组第2维的维数不同,是不规则的二维数组华华 北北 电电 力力 大大 学学 例如: String s =new String2 ; s0=new String2; s1=new String3; s00=new String(“Good”); s01=new String(“Luck”); s10=new String(“to”); s11=new String(“you”); s12=new String(“!”);二维数组的动态初始化华华 北北 电电 力力 大大 学学 对二维数组中每个元素,引用方式为:对二维数组中每个元素,引用方式为: arrayNameindex1index2 其中其中index1index1和和index2index2是数组下标,为整型常数是数组下标,为整型常数和整型表达式,都是从和整型表达式,都是从0 0开始的。开始的。二维数组元素的引用public class Yanghuipublic static void main(String args) final int MAX=10; int mat = new int MAX; int i=0,j,n=MAX; for (i=0;in;i+) mati= new int i+1; mati0=1; matii=1; for (j=1;ji;j+) matij=mati-1j-1+mati-1j; for (i=0;in;i+) for (j=0;jn-i;j+) System.out.print( ); for (j=0;j=i;j+) System.out.print( +matij); System.out.println(); 例:输出杨辉三角华华 北北 电电 力力 大大 学学数组操作的常用方法public static void arraycopy ( Object src,int src_position, Object dst, int dst_position, int length) 类System的静态方法arraycopy(),可用来进行数组复制。其格式和功能如下: 自学数组操作的常用方法华华 北北 电电 力力 大大 学学arraycopy()方法【案例】用方法arraycopy()复制数组。class ArrayCopy public static void main(String args) int array1 = 1, 2, 3, 4, 5, 6, 7, 8, 9,10 ; int array2 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; System.arraycopy(array1,0,array2,2,5); System.out.print(array2: ); for(int s:array2) System.out.print(s + ); System.out.println(); 程序运行结果如下:array2: 0 0 1 2 3 4 5 0 0 0 华华 北北 电电 力力 大大 学学类 Arrays中的方法 java.util.Arrays类中提供了对数组排序sort()、二分查找binarySearch()等静态方法。华华 北北 电电 力力 大大 学学sort()方法【案例】使用sort()方法对一整型数组递增排序import java.util.*;public class ArraySort public static void main(String args) int a=8,6,7,3,5,4,i;Arrays.sort(a); for(int s:a) System.out.print( + s); System.out.println(); 程序运行结果为:3 4 5 6 7 8华华 北北 电电 力力 大大 学学向量的介绍q向量向量( (Vector)Vector)是是java.utiljava.util类包提供的一个工类包提供的一个工具类。具类。q它是允许它是允许不同类型元素共存的元素共存的变长数组。q每个每个VectorVector类的对象可以表达一个完整的数据类的对象可以表达一个完整的数据序列。序列。 qVectorVector可以追加对象元素数量,可以方便的修可以追加对象元素数量,可以方便的修改和维护序列中的对象。改和维护序列中的对象。华华 北北 电电 力力 大大 学学向量的适用情况q需要将需要将不同类的对象组合成一个数据序列。组合成一个数据序列。q序列中的序列中的元素个数不确定。q序列中的序列中的元素都是对象或可以表示为对象。或可以表示为对象。q需要做频繁的需要做频繁的查询、插入或删除等操作。q在不同的类之间在不同的类之间传递大量的数据。 华华 北北 电电 力力 大大 学学 Vector类有三个构造方法:类有三个构造方法:lVector():构造一个长度为10的空向量。lVector(int capacity) 以指定的存储容量构造一个空向量。lVector(int capacity, int capacityIncrement) 以指定的存储容量和容量增量构造一个空向量。创建向量华华 北北 电电 力力 大大 学学 Vector MyVector=new Vector(100,50); 创建的MyVector向量序列初始有100个元素的空间,以后一旦使用殆尽则以50为单位递增,使序列中元素的个数变化成150,200,。在创建Vector序列时,不需要指明序列中元素的类型,可以在使用时确定。创建向量华华 北北 电电 力力 大大 学学qaddElementaddElement( Object ( Object objobj) ) 将新元素添加到序列尾部。将新元素添加到序列尾部。qinsertElementAt(ObjectinsertElementAt(Object objobj, , intint index) index) 将新元素插入到指定位置。将新元素插入到指定位置。向向量序列中添加元素插入位置华华 北北 电电 力力 大大 学学Vector Vector MyVectorMyVector=new Vector()=new Vector();for (for (intint i=1;i=10;i+) i=1;i=10;i+) MyVector.addElement(newMyVector.addElement(new Integer(i); Integer(i); MyVector.insertElementAt(MyVector.insertElementAt( middlemiddle ,5);,5);添加元素实例华华 北北 电电 力力 大大 学学import java.util.*; import java.util.*; class class AaAa public static void main(String public static void main(String argarg) ) Vector Vector MyVectorMyVector=new Vector();=new Vector(); for (for (intint i=1;i=10;i+) i=1;i=10;i+) MyVector.addElement(newMyVector.addElement(new Integer(i); Integer(i); MyVector.insertElementAt(middle,5); MyVector.insertElementAt(middle,5); for (for (intint i=0;i=10;i+) i=0;i=10;i+) System.out.println(MyVector.elementAt(iSystem.out.println(MyVector.elementAt(i);); 添加元素实例运行结果:12345middle678910华华 北北 电电 力力 大大 学学qsetElementAt(ObjectsetElementAt(Object obj,intobj,int index) index) 将index位置处的对象元素设置为obj,如果这个位置原来有元素,则被覆盖。qremoveElement(ObjectremoveElement(Object objobj) ) 删除与指定的obj对象相同的第一个元素,同时将后面的元素前提,补上空位。返回值是布尔值。qremoveElementAt(intremoveElementAt(int index) index) 删除index指定位置处的元素,将后面的元素前提。qremoveAllElementsremoveAllElements()():清除序列中的所有元素。元素的修改或删除华华 北北 电电 力力 大大 学学Vector Vector MyVectorMyVector = = new Vectornew Vector(100);(100);for (for (intint i=0;i10;i+) i=0;i10;i+) MyVector.addElement(“welcomeMyVector.addElement(“welcome”);”); MyVector.addElement(“toMyVector.addElement(“to”);”); MyVector.addElement(“beijingMyVector.addElement(“beijing”);”); while (while (MyVector.removeElement(“toMyVector.removeElement(“to”);”);向量实例添加删除元素华华 北北 电电 力力 大大 学学 1.Object Object elementAt(intelementAt(int index) index) 返回指定位置处的元素。 一个要注意的问题:由于返回的是Object类型的对象,在使用之前通常需要进行强制类型转换强制类型转换,将返回的对象引用转换成Object类的某个具体子类的对象。例如: String str=(String)MyVector.elementAt(0);2. booleanboolean contains(Object contains(Object objobj) ) 检查向量序列中是否包含指定的对象元素obj。查找向量序列中的元素 3.int int indexOfindexOf (Object (Object obj,intobj,int start_index) start_index) 从指定的start_index位置开始向后搜索向后搜索,返回所找到的第一个与指定对象obj相同的元素的下标位置。若指定的对象不存在,则返回1。 4.intint lastIndexOf(ObjectlastIndexOf(Object obj,intobj,int start_index) start_index) 从指定的start_index位置开始向前搜索向前搜索,返回所找到的第一个与指定对象obj相同的元素的下标位置。若指定的对象不存在,则返回1。int i=0;While(i=MyVector.indexOf(“welcome”,i)!=-1) System.out.println(i); i+;查找向量序列中的元素华华 北北 电电 力力 大大 学学capacity()capacity():返回Vector的容量 clone()clone():建立Vector的备份copyInto(ObjectcopyInto(Object):把Vector中的元素拷贝到一个数组中firstElementfirstElement()():返回第一个元素lastElementlastElement()():返回最后一个元素isEmptyisEmpty()():判断是否为空setSize(intsetSize(int size) size):设置Vector的大小size()size():返回Vector中元素的数量trimToSizetrimToSize()():将Vector的容量下调至最小值 Vector中的其他方法华华 北北 电电 力力 大大 学学例题:用向量实现,创建3个学生对象(学号、姓名、年龄)和4个教师对象(教工号、姓名、系别),并且输出。创建向量的对象import java.util.*;class Stu String xh; String xm;int nl; public Stu(String xh1,String xm1,int nl1) xh=xh1;xm=xm1;nl=nl1; void disp() System.out.println(学生:+xh+ +xm+ +nl); class Tech String zh; String xm; String xb; public Tech(String zh1,String xm1,String xb1) zh=zh1;xm=xm1;xb=xb1; void disp() System.out.println(教师:+zh+ +xm+ +xb); public class StuTer public static void main(String s)Vector st=new Vector();st.addElement(new Stu(101,李明,18);st.addElement(new Stu(102,王大力,20);st.addElement(new Stu(103,刘萍,19);st.addElement(new Tech(10100,林小利,计算机);st.addElement(new Tech(10101,熊平,计算机);st.addElement(new Tech(10102,戴红兵,电力);st.addElement(new Tech(10103,曲小军,电力); for(int i=0;i=0) s1.replace(l,l+s2.length(),s3); System.out.print(s1.toString(); 华华 北北 电电 力力 大大 学学用二维数组实现,用二维数组实现,5个学生个学生7门课程的总分和门课程的总分和平均分的统计工作。平均分的统计工作。import java.util.*;public class Cj public static void main(String args) int cj= new int57,i,j,sum=0,aver; Scanner sc=new Scanner(System.in); for(i=0;i5;i+) for(j=0;j7;j+) cjij=sc.nextInt(); sum+=cjij; System.out.print(sum/35); 华华 北北 电电 力力 大大 学学作业说明q邮箱:wsqncepu.edu.cnq文件命名:学号-题号.java 10110234343-1.javaq只提交正确的.java文件,如有错误,注明错误现象。q邮件主题:班级+姓名华华 北北 电电 力力 大大 学学下课了!下课了!
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号