输入姓名并分别输出姓和名 /** */ /** * InputAndOutputName.java * 输入姓名并分别输出姓和名 * @author 邓超 * @version 0.1 2008/5/11 * 开发/测试环境:jdk1.6 + eclipse SDK 3.3.2 */ import java.util.Scanner; public class InputAndOutputName ... { public static void main(String[] args) ...{ Scanner input = new Scanner(System.in); //保存我国现存的81个复姓(如果还有人是其他复姓,我估计这人是刚出土的) String[] RepeatedFamilyName = new String[]...{"欧阳","太史", "端木","上官","司马","东方","独孤","南宫","万俟","闻人","夏侯", "诸葛","尉迟","公羊","赫连","澹台","皇甫","宗政","濮阳","公冶", "太叔","申屠","公孙","慕容","仲孙","钟离","长孙","宇文","司徒", "鲜于","司空","闾丘","子车","亓官","司寇","巫马","公西","颛孙", "壤驷","公良","漆雕","乐正","宰父","谷梁","拓跋","夹谷","轩辕", "令狐","段干","百里","呼延","东郭","南门","羊舌","微生","公户", "公玉","公仪","梁丘","公仲","公上","公门","公山","公坚","左丘", "公伯","西门","公祖","第五","公乘","贯丘","公皙","南荣","东里", "东宫","仲长","子书","子桑","即墨","达奚","褚师"}; //System.out.println("我国现存复姓数量为:" + RepeatedFamilyName.length + "个。"); //保存全名 String fullName; //保存姓氏 String familyName = ""; //保存名字 String firstName = ""; //循环标识 boolean con; do ...{ con = false; //控制台输入提示 System.out.print("输入任意一个姓名:"); //接收并保存全名 fullName = input.next(); //保存输入内容的前两个字符 String frontTwoChar = fullName.substring(0, 2); //处理复姓 for (int i = 0; i < RepeatedFamilyName.length; i++) ...{ if (RepeatedFamilyName[i].equals(frontTwoChar)) ...{ if (fullName.length() <= 2 && //姓氏不为“欧阳”,且完整姓名小于等于两个字符的 !frontTwoChar.equals("欧阳")) ...{ System.out.println("错误,请输入完整姓名!"); con = true; } else if (fullName.length() > 2 && //姓氏不为“欧阳”,且完整姓名大于两个字符的 !frontTwoChar.equals("欧阳")) ...{ familyName = fullName.substring(0, 2); firstName = fullName.substring(2); } else if (fullName.length() <= 2 && //姓氏是“欧阳”,且完整姓名小于等于两个字符的 frontTwoChar.equals("欧阳")) ...{ familyName = fullName.substring(0, 1); firstName = fullName.substring(1); } else if (fullName.length() > 2 && //姓氏是“欧阳”,且完整姓名大于两个字符的 frontTwoChar.equals("欧阳")) ...{ familyName = fullName.substring(0, 2); firstName = fullName.substring(2); } //找到相匹配的复姓就跳出循环,停止判断 break; } else ...{ familyName = fullName.substring(0, 1); firstName = fullName.substring(1); } } //控制台分别输出姓和名 System.out.println("姓氏:" + familyName); System.out.println("名字:" + firstName); //询问用户是否中止程序 System.out.print("是否继续(y/n)?"); char choose = input.next().charAt(0); if (choose == 'y' || choose == 'Y') ...{ con = true; } } while (con); //退出 System.exit(0); }}