题目。。
   编写一个程序,要求用户分别输入名字和姓,然后打印输出一个字符串,该字符串有用户名字的首字母加不超过前5个字母的姓及一个10~99的随机数组成。类似的算法有时也用于生成计算机新用户帐号。
24小时之内答出来来的给分。。过时不给分!!!:-)我是初学者,简单的问题

解决方案 »

  1.   


    import java.util.Random;
    import java.util.Scanner;
    public class Name {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    String firstName;//姓
    String lastName;//名
    System.out.println("请输入姓:");
    firstName = input.next();
    System.out.println("请输入名:");
    lastName = input.next();

    //随机生成一个10-99之间的数
    Random rand = new Random();
    int num = rand.nextInt(90) + 10;

    //用StringBuffer类的对象来存储结果
    StringBuffer sb = new StringBuffer();

    //取出名的第一个字母,注意数组越界,因为名可能为空
    if(lastName.length() > 1) {
    sb.append(lastName.substring(0, 1));
    } else {
    sb.append(lastName);
    }
    if(firstName.length() > 5) {
    sb.append(firstName.substring(0, 5));
    } else {
    sb.append(firstName);
    }
    sb.append(num);
    System.out.println(sb.toString());
    }
    }
      

  2.   

    public static void main(String[] args) {
    if(args.length<2){
    System.out.println("请输入两个参数。");
    System.exit(0);
    }
    StringBuffer sb = new StringBuffer(args[0]);
    String subName=null;
    try{
    subName=args[1].substring(0, 5);
    }catch(StringIndexOutOfBoundsException e){
    subName=args[1];
    }

    sb.append(subName).append(new Random().nextInt(90)+10);
    System.out.println(sb);

    }
    是这样的吧?