1、山 西 大 学 计 算 机 与 信 息 技 术 学 院实 验 报 告姓 名 学 号 专业班级课程名称 Java实验 实验日期成 绩 指导教师 批改日期实 验 名 称 实验 5 JAVA 常用类一 实 验 目 的 :(1)掌握常用的 String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其 equals方法和=比较的区别;(3)掌握 String类常用方法的使用;(4)掌握字符串与字符数组和 byte数组之间的转换方法;(5 ) Date,Math, PrintWriter,Scanner 类的常用方法。二 实 验 内 容1.二进制
2、数转换为十六进制数(此程序参考例题249页9.2.13)程 序 源 代 码import java.util.*; public class BinToHexConversion /二 进 制 转 化 为 十 六 进 制 的 方 法 public static String binToHex(String bin) int temp; /二 进 制 转 化 为 十 六 进 制 的 位 数 if(bin.length()%4=0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char hex = new chartemp; /十 六
3、 进 制 数 的 字 符 形 式int hexDec = new inttemp;/十 六 进 制 数 的 十 进 制 数 形 式int j = 0; for(int i=0;i=0 if(pChar=0 if(cout2) return b=false; return b; /测 试 方 法 public static void main(String args) Scanner input = new Scanner(System.in); System.out.println(“请 输 入 密 码 password: “); String password = input.nextLin
4、e(); Boolean b = isPassword(password); if(b) System.out.println(“Valid Password!“); else System.out.println(“Invalid Password!“); 程 序 运 行 结 果 贴 图4.使 用 下 面 的 方 法 头 编 写 一 个 方 法 , 找 出 某 个 指 定 字 符 在 字 符 串 中 出 现 的 次 数 : public static int count(String str,char a)例 如 , count(“Welcome”,e)返 回 2.编 写 一 个 测 试 程
5、 序 , 提 示 用 户 输 入 一 个 字 符 串 , 在 该 字 符串 后 紧 跟 着 一 个 字 符 , 然 后 显 示 这 个 字 符 在 字 符 串 中 出 现 的 次 数 。程 序 源 代 码import java.util.*; public class CoutChar /统 计 字 符 的 方 法 public static int cout(String str,char a) int cout=0; for(int i=0;istr.length();i+) char strChar = str.charAt(i); if(strChar-a=0) cout+; retu
6、rn cout; /测 试 方 法public static void main(String args) Scanner input = new Scanner(System.in); System.out.println(“请 输 入 要 统 计 的 字 符 串 ( string) 和 字 符 ( a) : “); String str = input.nextLine(); String strA = input.next(); char a = strA.charAt(0); System.out.println(“字 符 “+a+“在 字 符 串 “+str+“中 出 现 的 次 数
7、 为 : t“+cout(str,a); 程 序 运 行 结 果 贴 图5. Java 提供了 3 个日期类:Date、Calendar 和 DateFormat。其中,Date 类主要用于创建日期对象并获取日期,Calendar 类可获取和设置日期,DateFormat 类用来设置日期的格式。Java 语言规定的基准日期为 1970.1.1 00:00:00 格林威治(GMT)标准时间,当前日期是由基准日期开始所经历的毫秒数转换出来的。程 序 源 代 码 如 下 , 手 工 输 入 , 认 真 分 析 并 运 行 程 序 , 掌 握 java日 期 相 关 类 的 用 法 。import j
8、ava.util.*;import java.text.*;public class KY5_10public static void main (String args)Date today = new Date(); /当 前 日 期 和 时 间SimpleDateFormat sdf;sdf= new SimpleDateFormat(“yyyy 年 MM 月 dd 日 hh 时 mm 分 ss 秒 a EEEEE“);System.out.println(“当 前 日 期 和 时 间 : “+sdf.format(today);long hms=System.currentTimeMi
9、llis(); /当 前 时 间 的 毫 秒 数System.out.println(“当 前 时 间 的 毫 秒 数 =“+hms);Date tomorrow = new Date(hms+24*60*60*1000);System.out.println(“明 天 是 “+sdf.format(tomorrow);Calendar now = Calendar.getInstance();int year =now.get(Calendar.YEAR); /年 份int month=now.get(Calendar.MONTH)+1; /月 份int day = now.get(Cale
10、ndar.DATE); /日 期System.out.print(“今 天 是 “+year+“年 “+month+“月 “+day+“日 “);int week = now.get(Calendar.DAY_OF_WEEK); /星 期switch (week)case 1: System.out.println(“ 星 期 日 “);break;case 2: System.out.println(“ 星 期 一 “);break;case 3: System.out.println(“ 星 期 二 “);break;case 4: System.out.println(“ 星 期 三 “
11、);break;case 5: System.out.println(“ 星 期 四 “);break;case 6: System.out.println(“ 星 期 五 “);break;case 7: System.out.println(“ 星 期 六 “);break; 编 译 并 运 行 程 序程 序 运 行 结 果 贴 图6 Math 是一个最终类,含有基本数学运算函数。创建使用 Math 类的应用程序,程序中使用如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加 Math.前缀调用。 程 序 源 代 码public class TestMath public
12、 static void main(String args) System.out.println(“-1的 绝 对 值 为 : “+Math.abs(-1); System.out.println(“asin(1) = “+Math.asin(1); System.out.println(“sin(PI/2) = “+Math.sin(Math.PI/2); System.out.println(“角 度 90度 对 应 的 弧 度 为 : “+Math.toRadians(90); System.out.println(“弧 度 PI/3对 应 的 角 度 为 “+Math.toDegre
13、es(Math.PI/3)+“度 “); System.out.println(“e的 23次 方 为 : “+Math.exp(23); System.out.println(“log以 e为 底 e的 对 数 为 : “+Math.log(Math.E); System.out.println(“log以 10为 底 100的 对 数 为 : “+Math.log10(100); System.out.println(“2的 3次 方 为 : “+Math.pow(2,3); System.out.println(“4的 平 方 根 为 : -“+Math.sqrt(4)+“和 “+Math.sqrt(4); System.out.println(“系 统 随 机 产 生 的 09之 间 的 随 机 整 数 为 : “+(int)(Math.random(); System.out.println(“系 统 随 机 产 生 的 2035之 间 的 整 数 为 “+(int)(20+Math.random()*16); 程 序 运 行 结 果 贴 图