输入姓名并分别输出姓和名

输入姓名并分别输出姓和名

/**
 * 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[]{ "欧阳","太史",
        
"端木","上官","司马","东方","独孤","南宫","万俟","闻人","夏侯",
        
"诸葛","尉迟","公羊","赫连","澹台","皇甫"
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用Python的字符串切片功能来实现这个功能。具体步骤如下: 1. 从键盘输入姓名,可以使用input函数实现。 2. 对姓名进行切片,可以使用字符串的切片功能。例如,如果姓名为“张三”,则可以使用name[]获取氏“张”,使用name[1:]获取名字“三”。 3. 输出切片后的结果,可以使用print函数实现。 下面是一个示例代码: ``` name = input("请输入姓名:") surname = name[] given_name = name[1:] print("氏:", surname) print("名字:", given_name) ``` 运行程序后,输入姓名,程序会输出氏和名字的切片结果。例如,如果输入姓名为“张三”,则输出结果如下: ``` 请输入姓名:张三 氏: 张 名字: 三 ``` ### 回答2: 从键盘输入姓名并进行切片,可以使用Python中的字符串切片操作。首先,我们可以使用input函数提示用户输入姓名,然后将这个字符串赋值给一个变量,比如name。 接着,我们可以使用find函数查找字符串中的空格位置,这个位置就是和名的分界点。具体实现如下: ```python name = input('请输入您的姓名:') index = name.find(' ') last_name = name[:index] first_name = name[index+1:] print('您的是:', last_name) print('您的名是:', first_name) ``` 这段代码中,我们首先使用find函数查找空格位置,将其赋值给变量index。然后,使用切片操作将和名分别存放在变量last_name和first_name中,并使用print函数将结果输出。 当用户输入姓名不包含空格时,find函数会返回-1,此时代码会出现异常。为了避免这种情况,可以加上判断语句来避免异常: ```python name = input('请输入您的姓名:') index = name.find(' ') if index != -1: last_name = name[:index] first_name = name[index+1:] print('您的是:', last_name) print('您的名是:', first_name) else: print('输入姓名格式不正确,请重新输入') ``` 这段代码中,如果find函数返回-1,说明输入姓名格式不正确,此时我们会使用print函数输出提示信息,要求用户重新输入。这样可以避免程序因为不正确的输入而崩溃。 通过以上代码,我们就可以实现从键盘输入姓名,对和名进行切片,并输出结果。这个过程基本上是处理字符串的常见操作,也是程序员必备的基础技能之一。 ### 回答3: 这道题要求我们从键盘输入一个人的姓名,然后对其进行切片,分别输出他的和名。 首先,我们可以使用Python内置的input函数来获取用户从键盘输入的内容,具体实现代码如下: ``` name = input("请输入您的姓名:") ``` 接下来,我们需要对输入姓名进行切片,获取其中的和名。在中文名字中,氏通常都是单个汉字,而名字则可能由多个汉字组成。因此,我们可以通过查找输入姓名中第一个汉字的位置来划分出和名。具体代码如下: ``` first_chinese_char = ord(name[0]) # 获取输入姓名的第一个汉字 if first_chinese_char >= 0x4e00 and first_chinese_char <= 0x9fa5: # 如果是中文汉字 surname = name[0] full_name = name[1:] print('您的是{},名是{}'.format(surname, full_name)) else: print('输入的不是中文名字!') ``` 在以上代码中,我们首先通过ord函数获取输入姓名的第一个汉字的Unicode码,然后判断该字符是否在中文汉字的Unicode码范围内。如果是,则认为其是氏,将其保存至变量surname中;否则,输出提示信息。接着,我们使用切片方式将名字部分截取出来,并将其保存至full_name变量中。最后,我们使用字符串格式化的方法将姓名和名输出到屏幕上。 需要注意的是,以上代码只是针对中文名字的情况,如果输入的是英文名字或其他语言的名字,代码可能会出现异常。在实际开发中,我们需要根据具体情况进行适当的修改和完善。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值