将出生年份添加到用户名

时间:2014-11-22 15:31:47

标签: java

我是新来的,我可以在一个小问题上使用一些帮助。我查看了旧问题,但没有一个像我一样。我正在为用户创建一个程序来注册他们的信息(姓名,出生年份和密码)。当用户输入一个不可用的名字时,我想取他们出生年份的最后两位数字,或者只有数字(例如:如果他们进入1985年或只有85,我希望在这两种情况下都是85)并且我想要将这两个数字放在用户名的末尾,作为不采用的其他名称的选项。 (示例:Bruce的名字已经被占用,试试Bruce85。)我在一个不同的程序中尝试了一个简单的字符串,它取了一个字母所在的位置的数字,但我需要反转它,并从中找到一个数字(85)最后两个数字。 1985 = 0 1 2 3,所以我想找到什么数字在2和3以下,无论输入什么数字(因为我不知道手头输入了什么数字)。

这是我尝试以字符串形式使用的内容。我以后尝试过数字而没有运气:

String myWord = "Bruce";
int location = myWord.indexOf("c");
System.out.println(location);

感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:3)

尝试使用substring api获取您的birthDate的最后两位数,如下所示:

String birthDate = "1985";
System.out.println(birthDate.substring(birthDate.length() - 2));

答案 1 :(得分:-2)

使用

 char[] ye = year.toCharArray();

这将返回分裂年份,添加[2]和ye [3]来命名。

String myWord = "Bruce";
int location = myWord.indexOf("c");
System.out.println(location);

String year = "1952";
char[] ye = year.toCharArray();
myWord = myWord+ ye[2] + ye[3] ;

System.out.println(myWord);

您也可以使用其他值。请注意od Null指针异常。

为了获得最佳实践,请不要使用char数组。而不是使用像

这样的String函数
String myWord1 = myWord+ ye[2] + ye[3] ;
System.out.println(myWord1);

String[] ary = year.split(""); // Use Regex here 
String myWord2 = myWord + ary[2] + ary[3] ;
System.out.println(myWord2);

String myWord3= myWord + year.substring(1, 3);
System.out.println(myWord3);
相关问题