Java实验报告(三)|系统常用类

题目一

(一)使用Math.random()生成任一整数,使其属于区间[10,120]

源程序:

public class Test01 {
    public static void main(String[] args) {
        System.out.println((int) (Math.random()*(110-10+1)));
    }
}

运行结果截图:
在这里插入图片描述

题目二

(二)使用Random类生成任一整数,使其属于区间[10,120]

源程序:

import java.util.Random;

public class Test02{
    public static void main(String[] args) {
        Random random = new Random();
        System.out.println(random.nextInt(120 - 10 + 1) + 10);
    }
}

运行结果截图:
在这里插入图片描述

题目三

(三)从键盘输入任意两个日期,两个日期之间使用回车换行,输出这两个日期之间相差的天数,输入日期的格式为:年/月/日。
如:输入:“2013/12/01”
“2013/12/05”
输出:相差4天

源程序:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Test03 {
    public static long getDay(String d1,String d2) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyy/MM/dd");
        Date date1= sdf.parse(d1);
        Date date2 = sdf.parse(d2);
        long n = date2.getTime()-date1.getTime();
        return Math.abs(n)/(60*60*24*1000);
    }
    public static void main(String[] args) throws ParseException {
        Scanner scanner = new Scanner(System.in);
        String d1 = scanner.nextLine();
        String d2 = scanner.nextLine();
        System.out.println("相差的天数为:"+  getDay(d1,d2));
    }
}

运行结果截图:
在这里插入图片描述

题目四

(四)把下面字符串中的数值进行从小到大的排序,生成一个数值有序的字符串。
排序前:“12 -36 22 1 14 78 -9”
排序后:“-36 -9 1 12 14 22 78”

源程序:

import java.util.Arrays;

public class Test04 {
    public static void main(String[] args) {
        String s1 = "12  -36  22  1  14  78  -9";
        System.out.println("排序前为:" + s1);
        String[] s2 = s1.split("  ");
        int[] x = new int[s2.length];
        for (int i = 0; i < s2.length; i++) {
            x[i] = Integer.parseInt(s2[i]);
        }
        Arrays.sort(x);
        StringBuilder s3 = new StringBuilder();
        for (int i = 0; i < x.length; i++) {
            s3.append(x[i] + "  ");
        }
        System.out.println("排序后为:" + s3.toString().trim());
    }
}

运行结果截图:
在这里插入图片描述

收获:
1、 Math.Random()生成的数字是(0-1)之间的小数。如果要生成[a,b]区间内的整数,使用推导得出的公式,(int)Math.random()*(b-a+1)+a即
2、 Random类的使用,如果要生成[a,b]区间内的整数,使用计算公式random.nextInt(b - a + 1) + a 即可。
3、 时间日期的格式化,用SimpleDateFormat来创建对象,然后格式化日期,
字符串转化成为Date类型,通过SimpleDateFormat创建的对象,调用.parse方法即可实现转化。
4、 分割字符串,使用.split()方法,内可填正则表达式。通过包装类,解析出来数字存到int数组中,然后用Arrays中的sort方法进行数字的排序,然后在通过StringBuilder/StringBuffer中的.append方法在添上空格即可。
5、 字符串中的.trim()方法可以去除字符串首尾的空格。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值