《24李后浪实验三 字符串、时间与数字类》由会员分享,可在线阅读,更多相关《24李后浪实验三 字符串、时间与数字类(6页珍藏版)》请在金锄头文库上搜索。
1、实验三实验三 字符串、时间与数字类字符串、时间与数字类实验课程名:实验课程名:Java 程序设计 专业班级:专业班级: 12 网工网工 2 班班 学号:学号: 201240420224 姓名:姓名: 李后浪李后浪 实验时间:实验时间: 2014.5.5-5.19 实验地点:实验地点: K4-307 指导教师:指导教师: 冯冯 珊珊 一、实验目的和要求掌握String类的常用方法 掌握Date类以及Calendar类的常用方法; 掌握BigInteger类的常用方法。二、实验内容任务1 StringString类的常用方法。类的常用方法。 实验要求:实验要求: 编写一个Java应用程序,判断两个
2、字符串是否相同,判断字符串的前缀、后 缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串, 创建字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组 创建字符串。 1、源代码: class StringExample public static void main(String args) String s1=new String(“you are a student“),s2=new String(“how are you“);if(s1.equals(s2) / 使用equals方法判断s1与s2是否相同System.out.println(“s1与s2相
3、同“); elseSystem.out.println(“s1与s2不相同“); String s3=new String(“22030219851022024“);if(s3.startsWith(“220302“) /判断s3的前缀是否是“220302”。System.out.println(“吉林省的身份证“);String s4=new String(“你“),s5=new String(“我“);if(pareTo(s5)0)/按着字典序s4大于s5的表达式。System.out.println(“按字典序s4大于s5“);elseSystem.out.println(“按字典序s4
4、小于s5“);int position=0;String path=“c:javajspA.java“;position=path.lastIndexOf(“); /获取path中最后出现目录分隔符号的位置System.out.println(“c:javajspA.java中最后出现的位置: “+position); String fileName=path.substring(position+1);/获取path中“A.java”子字符串。System.out.println(“c:javajspA.java中含有的文件名: “+fileName); String s6=new Stri
5、ng(“100“),s7=new String(“123.678“);int n1=Integer.parseInt(s6); /将s6转化成int型数据。double n2=Double.parseDouble(s7); /将s7转化成double型数据。double m=n1+n2;System.out.println(m);String s8=String.valueOf(m); /String调用valuOf(int n)方法将m转化为字符串对象position=s8.indexOf(“.“);String temp=s8.substring(position+1);System.ou
6、t.println(“数字“+m+“有“+temp.length()+“位小数“) ; String s9=new String(“ABCDEF“);char a=s8.toCharArray(); /将s8存放到数组a中。for(int i=a.length-1;i=0;i-)System.out.print(“ “+ai);2、运行结果:3、实验结果与分析:(明确地写出最后结果,并对自己得出的结果进行 具体、定量的结果分析,说明其可靠性;杜绝只罗列不分析) 判断两个字符串s1与s2是否相同,判断字符串的前缀、后缀是否和某个字符 串相同,按字典顺序比较两个字符串s4和s5的大小关系,检索字符
7、串,创建字符串,将数字型字符串转换为数字,将double型数字m转换为字符串对象,将字符串 对象s8存放到数组a中,用字符数组创建字符串。任务2 比较日期的大小。比较日期的大小。 实验要求:实验要求: 编写一个Java应用程序,用户从输入对话框输入了两个日期,程序将判断两 个日期的大小关系,以及两个日期之间的间隔天数。 1、 源代码: import java.util.*;import javax.swing.JOptionPane;public class DateExample public static void main(String args ) String str=JOption
8、Pane.showInputDialog(“输入第一个日期的年份:“);int yearOne=Integer.parseInt(str);str=JOptionPane.showInputDialog(“输入该年的月份:“);int monthOne=Integer.parseInt(str);str=JOptionPane.showInputDialog(“输入该月份的日期:“);int dayOne=Integer.parseInt(str);str=JOptionPane.showInputDialog(“输入第二个日期的年份:“);int yearTwo=Integer.parseI
9、nt(str);str=JOptionPane.showInputDialog(“输入该年的月份:“);int monthTwo=Integer.parseInt(str);str=JOptionPane.showInputDialog(“输入该月份的日期:“);int dayTwo=Integer.parseInt(str);Calendar calendar=Calendar.getInstance(); /初始化日历对象calendar.set(yearOne,monthOne-1,dayOne); /将calendar的时间设置为yearOne年monthOne月dayOne日long
10、 timeOne=calendar.getTimeInMillis(); /calendar表示的时间转换成毫秒calendar.set(yearTwo,monthTwo-1,dayTwo); /将calendar的时间设置为yearTwo年monthTwo月dayTwo日long timeTwo=calendar.getTimeInMillis(); /calendar表示的时间转换成毫秒。Date date1= new Date(timeOne); / 用timeOne做参数构造date1Date date2=new Date(timeTwo); / 用timeTwo做参数构造date2i
11、f(date2.equals(date1)System.out.println(“两个日期的年、月、日完全相同“);else if(date2.after(date1)System.out.println(“您输入的第二个日期大于第一个日期“);else if(date2.before(date1)System.out.println(“您输入的第二个日期小于第一个日期“);long days= (Math.abs(timeTwo - timeOne) / (1000 * 60 * 60 * 24); /计算两个日期相隔天数System.out.println(yearOne+“年“+mont
12、hOne+“月“+dayOne+“日和“+yearTwo+“年“+monthTwo+“月“+dayTwo+“相隔“+days+“天 “); 2、运行结果:3、实验结果与分析: 从输入对话框输入了两个日期,分别是 2014 年 1 月 1 日和 2014 年 5 月 9 日; 程序将判断两个日期的大小关系,以及两个日期之间的间隔天数。 任务3 处理大整数。处理大整数。 实验要求:实验要求: 编写一个 Java 应用程序,计算两个大整数的和、差、积和商,并计算一个大整数的 因子个数(因子中不包括 1 和大整数本身)。 1、源代码: import java.math.*;class BigInteg
13、erExamplepublic static void main(String args) BigInteger n1=new BigInteger(“987654321987654321987654321“),n2=new BigInteger(“123456789123456789123456789“),result=null;result=n1.add(n2);/n1和n2做加法运算System.out.println(“和:“+result.toString();result=n1.subtract(n2); /n1和n2做减法运算System.out.println(“差:“+res
14、ult.toString();result=n1.multiply (n2);/n1和n2做乘法运算System.out.println(“积:“+result.toString();result= n1.divide(n2);/n1和n2做除法运算System.out.println(“商:“+result.toString();BigInteger m=new BigInteger(“1968957“),COUNT=new BigInteger(“0“),ONE=new BigInteger(“1“),TWO=new BigInteger(“2“);System.out.println(m
15、.toString()+“的因子有:“);for(BigInteger i=TWO;pareTo(m)0;i=i.add(ONE) if(n1.remainder(i).compareTo(BigInteger.ZERO)=0) COUNT=COUNT.add(ONE);System.out.print(“ “+i.toString();System.out.println(“);System.out.println(m.toString()+“一共有“+COUNT.toString()+“个因子“); 2、运行结果:3、实验结果与分析: 计算两个大整数的和、差、积和商,并计算一个大整数的因子个数(因子中不包括1和 大整数本身)。 任务4 实验要求:实验要求: 编写一个程序,计算1+2+3的前999999999项的和。 1、源代码: import java.math.*;class BigIntegerExamplepublic static void main(String args) BigInteger i1=new BigInteger(“1“),i2=new BigInteger(“1“),i3=new BigInteger(“1000000000“),sum