帮你写了一个,实现基本功能,加了一点基本的输入错误判断。需要其他更细节的部分可以自己完成。
import java.util.Scannerpublic class Test {
public static void main(String args[]) {
String surname[] = { "王", "李", "宋", "欧阳", "诸葛" } // 姓氏字符串数组
String name = "" // 输入的姓名
String sname1 = "" // 输入姓名的前一个字符
String sname2 = "" // 输入姓名的前两个字符
String lname = ""
int i = 0
int flag = 3 // 表示姓氏数组中开始出现复姓的位置
int j = flag
boolean temp = true
// 输入姓名
Scanner in = new Scanner(System.in)
while (temp) {
System.out.print("请输入姓名:")
name = in.nextLine()
if (name.length() < 2) {
System.out.println("您输入的姓名不合规范!")
} else {
temp = false
sname1 = name.substring(0, 1)
sname2 = name.substring(0, 2)
}
}
for (i = 0 i < flag i++) {
// 如果单姓
if (surname[i].equals(sname1)) {
lname = name.substring(1, name.length())
System.out.println("姓:" + sname1 + " & 名:" + lname)
break
}
}
for (j = flag j < surname.length j++) {
// 如果单姓
if (surname[j].equals(sname2)) {
lname = name.substring(2, name.length())
System.out.println("姓:" + sname2 + " & 名:" + lname)
break
}
}
//如果姓氏不存在
if(i == flag && j==surname.length){
System.out.println("姓氏不存在!")
}
}
}