java编程一个输入名字,使得可以输出区分姓和名

包含复姓(这个我自己找)会用到if和elseif的语句... 包含复姓(这个我自己找)会用到 if 和 else if 的语句 展开
 我来答
jiaoxiangpu
2013-12-26 · TA获得超过512个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:264万
展开全部

帮你写了一个,实现基本功能,加了一点基本的输入错误判断。需要其他更细节的部分可以自己完成。

import java.util.Scanner;
public 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("姓氏不存在!");
  }
 }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式