java类与数组个人作业.doc_第1页
java类与数组个人作业.doc_第2页
java类与数组个人作业.doc_第3页
java类与数组个人作业.doc_第4页
java类与数组个人作业.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验7 常用Java类实验目的:1、掌握Java API文档的使用;2、借助于Java API 文档,熟悉String类的基本构造方法和常用方法的使用;3、借助于Java API 文档,熟悉StringBuffer类的追加、插入、查找、替换、删除等操作;4、了解StringTokenizer类的基本用法。5、熟悉一维和二维数组的使用实验内容一、(计划用时:10分钟) 字符串的比较1、运行. code字符串的比较StringCompare.java 源程序;2、查阅API文档,结合程序运行结果,回答下列问题:(1) 对于String对象来说,“=”运算符与equals( )方法的功能有什么不同? 答:=:比较两个字符串对象是否引用同一个实例对象;equals():比较两个字符串中对应的每个字符是否相等。(2) s1和s2是否指向同一对象?为什么? 答:是,因为“=”运算符输出为ture(3) s3和s4是否指向同一对象?为什么? 答:不是,因为“=”运算符输出为flase(4) s1=s3是否成立?为什么? 答:不成立,因为是两个不同的实例对象(5) s1、s2、s3、s4的内容是否相同? 答:相同(5) compareTo( )方法的功能是什么?当比较结果分别为 负数、正数、0 时,代表什么含义? 答:按字典顺序比较两个字符串。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0。二、(计划用时:20分钟) String类的使用1、查阅Java API 文档,熟悉String类基本构造方法和常用方法的使用;2、打开.codeString类的使用StringTest.java程序,根据注释将程序所缺代码补充完整。(小技巧:如果某一行的内容不会填写,可用/将该行内容注释掉,从面不影响整个程序的运行)/String的使用public class stringtest public static void main(String args) String str=;/创建一个以为参数的String对象System.out.println(字符串的长度: +str.length(); /输出字符串的长度System.out.println(字符串的首字符: +str.charAt(0);/输出字符串的首字符System.out.println(字符串的最后一个字符: +str.charAt(str.length()-1);/输出字符串的最后一个字符System.out.println(字符的索引号(即下标): +str.indexOf();/输出字符的索引号(即下标)System.out.println(最后一个点号(.)的索引号(即下标): +str.lastIndexOf(.);/输出最后一个点号(.)的索引号(即下标)System.out.println(该邮箱的用户名(即第一个单词): +str.substring(0,str.indexOf();/输出该邮箱的用户名(即第一个单词)System.out.println(该邮箱的顶级域名(即最后一个单词): +str.substring(str.lastIndexOf(.)+1,str.length();/输出该邮箱的顶级域名(即最后一个单词)System.out.println(字符串全部以大写方式输出为: +str.toUpperCase();/字符串全部以大写方式输出System.out.println(字符串全部以小写方式输出为: +str.toLowerCase();/字符串全部以小写方式输出三、(计划用时:15分钟) StringBuffer类的使用1、查阅Java API 文档,熟悉StringBuffer类的追加、插入、查找、替换、删除等操作;2、打开.codeStringBuffer类的增加、删除和修改StringBufferTest.java程序,根据注释将程序所缺代码补充完整。(小技巧:如果某一行的内容不会填写,可用/将该行内容注释掉,从面不影响整个程序的运行)/StringBuffer的增加、删除和修改public class StringBufferTest public static void main(String args) char ch=2,0,0,8,年;StringBuffer sb=new StringBuffer(北京奥运会开幕时间: );/创建一个以北京奥运会开幕时间: 为参数的StringBuffer对象sb.append(8月8日晚8点);/在sb尾部追加8月8日晚8点字符串sb.insert(sb.length(),ch);/在sb头部插入字符数组ch的内容System.out.println(字符串内容为: +sb.toString();int n=sb.indexOf(北京);sb.replace(n,2,第29届);/将字符串中北京替换为第29届System.out.println(替换后,得到的字符串内容为: +sb.toString();System.out.println(字符串的长度为: +sb.length();/输出字符串的长度sb.delete(0,18);/删除字符串中从第6个字符开始到第18个字符为止的内容System.out.println(删除字符串后,得到的字符串内容为: +sb.toString();四、(计划用时:10分钟) StringTokenizer类的使用 (选做题)打开.code字符串的单词分析器StringTokenizerTest.java程序,阅读程序代码,理解各语句的功能,最后运行程序。五、(计划用时:10分钟) 一维数组的使用1、打开.code一维数组文件夹中 Array.java 源文件,根据注释填充所缺代码,然后编译、运行该程序,并回答相关问题:程序代码/一维数组:声明,创建,初始化,数组元素的引用及数组拷贝public class Arraypublic static void main(String args)String strArray; /声明一个String类型的一维数组strArray=new String5;/为strArray数组分配存放5个字符串的空间for (int i=0; istrArray.length;i+)/输出strArray数组各元素的值System.out.println(StrArray+i+ = +strArrayi);System.out.println();String FuWa=贝贝,晶晶 ,欢欢 ,迎迎, 妮妮;for (int i=0; iFuWa.length;i+)/输出FUWa数组各元素的值System.out.println(FuWa+i+ = +FuWai);System.arraycopy(FuWa, 0, strArray, 0, 3); /将FuWa中的前三个元素拷贝到strArray对应的位置上for (int i=0; istrArray.length;i+) /输出strArray数组各元素的值System.out.println(StrArray+i+ = +strArrayi);问题:(1)一维数组如何声明、创建?如果没有给数组元素赋值,则它们的取值如何?答:声明:数据类型 数组名 或 数据类型 数组名 创建:new 数据类型数组的长度 空值(2)数组的静态初始化具有什么功能?答:在定义数组的同时就为数组元素分配空间并赋值(3)要了解数组元素的个数,可用访问数组的什么属性得到?答:length长度(4)怎样引用数组的元素?写出它的下标取范围。答:数组名i,i的取值范围为0i-1(5)如何将一个数组的内容拷贝到另一个数组中? 答:arraycopy六、(计划用时:15分钟) 二维数组的使用1、打开.code二维数组文件夹中 Array2.java 源文件,根据注释和邻近的程序段填充所缺代码,然后编译、运行该程序,并回答相关问题:程序代码import java.util.Arrays;public class Array2public static void main(String args)/声明一个名为myArray的数组,该数组有2行,每行列数不等,并为其分配内存空间int myArray=new int2;myArray0=new int5;/第一行有5个元素,并为其分配内存空间myArray1=new int10;/第二行有10个元素,并为其分配内存空间for (int j=0; jmyArray0.length;j+)/用1-10之间的随机整数给第一行元素赋值myArray0j=(int)(Math.random()*10);for (int j=0; jmyArray1.length;j+) /用100-200之间的随机整数给第二行元素赋值myArray1j=(int)(Math.random()*100+100);for (int i=0; imyArray.length;i+)/输出myArray数组各元素的值for (int j=0; jmyArrayi.length;j+)System.out.print(myArrayij+ );System.out.println();Arrays.sort(myArray0);/对第一行元素排序Arrays.sort(myArray1);/对第二行元素排序System.out.println(n排序后的数组元素: );for (int i=0; imyArray.length;i+)/再次输出myArray数组各元素的值for (int j=0; jmyArrayi.length;j+)System.out.print(myArrayij+ );System.out.println(); 问题:(1)二维数组如何声明、创建?二维数组的列数是否一定要求相同?答:数据类型 数组名 数组名 =new数据类型不一定(2)二维数组如何动态初始化?答:直接为每一维分配空间从最高维开始(而且必须从最高维开始),分别为每一维分配空间(3)怎样理解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论