java初级程序 跪求指导

自动生成10个整数(1~100),求出生成数列中的最大值和最小值。运行效果如图所示:
随机生成打数列是:
99 87 66 78 09 23 45 67 54 23
最大值是:99
最小值是:23
要求:

1、 使用Java语言;
2、 不允许使用Arrays类的sort方法。

输入一个身份证号码,在验证身份证号码符合要求后,输出对应的生日信息。
身份证号码验证(只需要验证身份证号码为18位)
生日信息 (对应身份证的7-14位)运行效果如图所示:
请输入你打身份证号码:
1237123823
身份证号码错误,请重新输入!
3102301988050245558877
身份证号码错误,请重新输入!
310230198805024555
您打生日是:1988-05-02
最好能详细写出代码 谢谢

public class BirthMax {

public static void main(String[] args) {
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
System.out.println("随机生成打数列是:");
for(int i = 0; i < 10; i++) {
int num = (int)(Math.random() * 100 + 1);//Math.random()产生0-1(不包括1)的随机数 所以乘以100再+1就是1-100了
if(num >= max) max = num;
if(num <= min) min = num;
System.out.print(num + " ");
}
System.out.println();
System.out.println("最大值是:" + max);
System.out.println("最小值是:" + min);
}
}

import java.util.Scanner;
public class Birth {
public static void main(String[] args) {
System.out.println("请输入你的身份证号码:");
String sid = "";
Scanner in = new Scanner(System.in);
do {
sid = in.nextLine();
if(sid.length() != 18) {
System.out.println("身份证号码错误,请重新输入!");
continue;
}
break;
} while(true);
String birth = sid.substring(6, 10) + "-" + sid.substring(10, 12) + "-" + sid.substring(12, 14);
System.out.println("您打生日是:" + birth);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-02
可不可以用
Collections.sort();
Collections.max();
Collections.min()

第二个就是字符串的截取吧,cardId.substring()
"3102301988050245558877".substring(6,10)+"-"+"3102301988050245558877".substring(10,12)+"-"+"3102301988050245558877".substring(12,14)