题目一
(一)使用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()方法可以去除字符串首尾的空格。