java - 生成随机电子邮件地址(更有效的附加)

标签 java

我正在介绍计算机科学,我们的教授给了我们一些实验要做,其中之一是为学生发送电子邮件。

规则是:
1. 询问用户的名字和姓氏。
2. 使用名字的第一个字母、姓氏的前 6 个字母和 3 位随机数来创建电子邮件地址。全部小写。
示例:如果用户输入 Joe Humphry,则输出将为:
<强> [email protected] .

我想我已经弄清楚了,但我很好奇是否有更有效的方法来解决它。
我的问题是:
是否有更有效的方法来对此进行编码,特别是使用附加,这样我就不必为每个附加编写新的代码行?

我尝试使用:
追加(num1,num2,num3)
无济于事。

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    //asks for first name
    System.out.println("What is your first name?");
    String firstname = scan.next();


    //asks for last name
    System.out.println("What is your last name?");
    String lastname = scan.next();
    if (lastname.length()>6)
        lastname = lastname.substring(0,6);

    //generates random number
    int min = 0;
    int max = 9;
    StringBuilder randoms = new StringBuilder();
    Random random = new Random();
    int num1 = random.nextInt(max-min+1)+min;
    int num2 = random.nextInt(max-min+1)+min;
    int num3 = random.nextInt(max-min+1)+min;
    randoms.append(num1);
    randoms.append(num2);
    randoms.append(num3);

    // combine and print
    System.out.println(firstname.toLowerCase().charAt(0)
                        + lastname.toLowerCase()
                        + randoms
                        + "@students.nyu.edu");

}

最佳答案

您可以立即生成三位数,而不是生成三个单独的数字。请记住格式化数字,因此当它生成值 0 时,您将得到“jhumphr000”而不是“jhumphr0”

Random random = new Random();
int number = random.nextInt(1000);
String randoms = String.format("%03d", number);

关于java - 生成随机电子邮件地址(更有效的附加),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851031/

相关文章:

java - 如何从属性文件中读取依赖版本

Java问题: Is there an integer or double version of the JLabel class?

java - 如何将日期时间数据字符串转换为 LocalDate?

java - 并行四任务执行

java - 如何计算一次插入多少行,考虑mysql的max_allowed_pa​​cket

java - 配置类中的 getBeansOfType

java - 图像不会出现在 jar 中

java - XML 与 setImageDrawable/setImageBitmap

java - 尝试对按各自顺序给定的字符串进行排序,无法使用集合

java - 卡在 java setter 方法上