java类与数组个人作业_第1页
java类与数组个人作业_第2页
java类与数组个人作业_第3页
java类与数组个人作业_第4页
java类与数组个人作业_第5页
已阅读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 Array public 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 Array2 public 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

提交评论