我正在做这个实验:
编写一个程序,为用户创建一个登录名,给定用户的名、姓和一个四位数整数作为输入。输出登录名,它由姓氏的前五个字母组成,后面是名字的第一个字母,然后是数字的最后两位数字(使用%操作符)。如果姓氏少于五个字母,则使用姓氏中的所有字母。
我有一个代码,用于输入,其中姓氏是五个字母或更多,但我很困惑如何添加的部分,其中有一个姓氏少于五个字母。我要用if语句吗?
下面是我的代码:import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userFirstName;
String userLastName;
int birthYear;
String loginName;
userFirstName = scnr.next();
userLastName = scnr.next();
birthYear = scnr.nextInt();
loginName = userLastName.substring(0,4);
loginName = loginName + userFirstName.charAt(0);
loginName = loginName + (birthYear % 100) ;
System.out.println("Your login name: " + loginName);
}
}
Do I use an if statement?
是的
这里的:
loginName = userLastName.substring(0,4);
loginName = loginName + userFirstName.charAt(0);
loginName = loginName + (birthYear % 100) ;
你可以添加
if (userLastName.length()<5)
loginName = userLastName;
//this will initialize loginName with all the characters available
else
loginName = userLastName.substring(0,4);
/*
in my opinion this will return only 4 characters and not the fifth one
If that's the case, make the .substring(0,5);
*/
loginName = loginName + userFirstName.charAt(0);
loginName = loginName + (birthYear % 100) ;