将中文名格式化输出为英文名

news2024/12/24 20:20:01

要求:

  1. 编写Java程序,输入样式为:Zhong wen ming的人名,以 Ming,Zhong.W 的形式打印出来。其中.W是中间单词的首字母;
  2. 例如输入”Willian Jefferson Clinton“,输出形式为:Clinton,Willian.J
  public static void main(String[] args) {
        try {
            englishName("Xiao Mo Nian");
            englishName("Willian Jefferson Clinton");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public static void englishName(String name){
        if(name==null){
            throw new RuntimeException("输入姓名不能为空");
        }
        String[] spilt = name.split(" ");
        if(spilt.length!=3){
            throw new RuntimeException("您输入的姓名格式不正确");
        }
        String twoSpilt = new String(spilt[1]);
        char lastNameOne = twoSpilt.charAt(0);
        lastNameOne = isprimeChar(lastNameOne);
        for (int i = 0; i < spilt.length; i++) {
            if(i == spilt.length-1){
                System.out.println(spilt[i]+","+spilt[0]+"."+lastNameOne);
            }
        }
    }
    public static char isprimeChar(char twoChar){
        char reverChar = twoChar;
        if(!(twoChar>='A'&&twoChar<='Z')){
            reverChar = (char)(twoChar-32);
        }
        return reverChar;
    }

 打印结果:

第二种实现方法:
public static void englishName(String name){
        String[] spilt = name.split(" ");
        if(spilt.length!=3){
            throw  new RuntimeException("输入的格式不正确");
        }
        if(name==null){
            throw new RuntimeException("输入不能为空");
        }
//        String formatStr ="%s,%s.%c";
//        String info =                     String.format(spilt[2]+","+spilt[0]+"."+spilt[1].toUpperCase().charAt(0));
        String info = String.format("%s,%s.%c",spilt[2],spilt[0],spilt[1].toUpperCase().charAt(0));
        System.out.println(info);
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1098698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙OS app开发环境搭建

鸿蒙OS是华为开源的支持移动设备或者物联网设备的操作系统&#xff0c;本文主要描述鸿蒙OS应用开发环境搭建。 如上所示&#xff0c;从鸿蒙OS官方网站下载应用开发工具DevEco Studio的最新版本 如上所示&#xff0c;DevEco Studio安装完成&#xff0c;安装与配置nodejs、ohpm以…

树莓派javaws launch.jnlp远程启动服务器

需要登录到IPMI进行重启&#xff0c;目前使用的树莓派系统&#xff0c;记录下在Ubuntu桌面系统中打开jnlp的操作&#xff1a; sudo apt -y install icedtea-netx javaws viewer.jnlp 运行上述命令后界面如下所示&#xff1a; 使用的是系统自生成的证书&#xff0c;直接点击yes…

同为科技(TOWE)关于风力发电雷电防护的解决方案

风能作为一种可再生清洁能源&#xff0c;是国家新能源发展战略的重要组成部分。我国风能开发潜力高达2.510GW以上&#xff0c;近年来风力发电机组逐年增加&#xff0c;截止到2022年&#xff0c;全国风电装机容量约3.5亿千瓦&#xff0c;同比增长16.6%。然而&#xff0c;由于风力…

关于Skywalking Agent customize-enhance-trace对应用复杂参数类型取值

对于Skywalking Agent customize-enhance-trace 大家应该不陌生了&#xff0c;主要支持以非入侵的方式按用户自定义的Span跟踪对应的应用方法&#xff0c;并获取数据。 参考https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/cust…

【MATLAB源码-第48期】基于matlab的16QAM信号盲解调仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 16QAM (16个象限幅度调制) 是一种广泛使用的数字调制技术。在无线和有线通信系统中&#xff0c;为了在固定的带宽内发送更多的信息&#xff0c;高阶调制如16QAM被使用。下面是16QAM盲解调的基本步骤、优缺点及应用场景。 16Q…

C语言系统化精讲(五): 循环控制语句

文章目录 一、C语言while循环和do while循环详解1.1 while循环1.2 do-while循环 二、C语言for循环(for语句)详解2.1 基本使用2.2 for循环的变体2.3 for语句中的逗号应用 三、C语言break和continue用法详解(跳出循环)3.1 break关键字3.2 continue语句 四、C语言循环嵌套详解五、…

讲解Windows系统中如何使用Python读取图片的元数据【Metadata】

文章目录 简介图像元数据如何查看图像元数据pyexiv2pyexiv2读取图片的元数据的函数接口主要部分pyexiv2的EXIF元数据说明 代码示例参考资料 简介 我们可以使用pyexiv2这个Python第三方工具在Windows系统中包读取图片文件的元数据Metadata。其中&#xff0c;经常会使用的图片元…

你了解供应链云仓系统源码里的5个核心功能吗?

为您详细介绍供应链云仓系统源码中的核心功能 供应链云仓系统是一种基于互联网的供应链管理系统&#xff0c;它利用云计算和大数据技术&#xff0c;帮助企业优化物流与库存管理、提升供应链的效率和灵活性。在供应链云仓系统的源码中&#xff0c;有许多关键功能可以帮助企业实现…

【Java 进阶篇】JavaScript 自动跳转首页案例

在这篇博客中&#xff0c;我们将创建一个JavaScript案例&#xff0c;演示如何自动跳转到网站的首页。这种自动跳转通常用于欢迎页面或广告页面等场景。我们将从头开始创建这个案例&#xff0c;逐步介绍相关的JavaScript知识&#xff0c;让初学者也能理解并实现这个功能。 1. 什…

【docker】查看容器日志

目录 一.通过查找宿主机日志路径&#xff0c;通过Linux命令查看即可。 1.1 查看容器日志路径 1.2 按照日志路径检索日志 二、通过docker命令检索日志 2.1 查看指定时间后的日志&#xff0c;只显示最后20行 2.2 查看最近10分钟的日志 2.3 查看某时间段之后的日志 2.4 查…

Java武侠文字游戏

import java.util.Random;public class Role {//姓名private String name;//血量private int blood;//性别private char gender;//长相(随机)private String face;String[] boyfaces {"风流俊雅", "气宇轩昂", "相貌英俊", "五官端正"…

【00】神经网络之初始化参数

问题描述 #随机初始化权重 w12 np.random.randn(100, 784)/np.sqrt(784) 为什么除以28 回答 这里的代码是初始化一个深度学习模型中的权重矩阵w12。权重矩阵的形状是(100, 784)&#xff0c;这是一个从784个输入节点到100个隐藏节点的全连接层。 除以np.sqrt(784)是权重初始…

web 性能优化详解(Lighthouse工具、优化方式、强缓存和协商缓存、代码优化、算法优化)

1.性能优化包含的方面 优化性能概念宽泛&#xff0c;可以从信号、系统、计算机原理、操作系统、网络通信、DNS解析、负载均衡、页面渲染。只要结合一个实际例子讲述清楚即可。 2.什么是性能&#xff1f; Web 性能是客观的衡量标准&#xff0c;是用户对加载时间和运行时的直观…

微信小程序框架---详细教程

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 &#xff0c;越幸运。 目录 1.框架 1.1响应的数据绑定 1.2.页面管理 1.3.基础组件 1.4.丰富的 API 2.视图层 View 2.1.介绍 …

大量pod失败

随便查看pod 有的pod提示磁盘不足 查看csi-nfs 的pod。有一个处于Evicted 状态 kubectl get pod -n kube-system csi-nfs-node-jlxc6 3/3 Running 10 (4d16h ago) 20d csi-nfs-node-vnr5q 0/3 Evicted 0 10m 查看这个pod。提示磁盘不足 kubectl describe pod -n kube-system…

低代码技术这么香,如何把它的开发特点发挥到极致?

前言 什么是低代码技术&#xff1f; 低代码是一种可视化软件开发方法&#xff0c;通过最少的编码更快地交付应用程序。图形用户界面和拖放功能使开发过程的各个方面自动化&#xff0c;消除了对传统计算机编程方法的依赖。 文章目录 前言低代码平台怎么选&#xff1f;用友Yonbu…

14.8 Socket 一收一发通信

通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式&#xff0c;当客户端发送数据到服务端后&#xff0c;我们希望服务端处理请求后同样返回给我们一个状态值&#xff0c;并以此判断我们的请求是否被执行成功了&#xff0c;另外增加收发同步有助于避免数据包粘包…

docker基础认知(镜像+容器+仓库+客户端与服务器)

镜像&#xff08;Image&#xff09; 静态文件&#xff0c;提供了容器运行时所需的程序、库、资源、配置等文件&#xff0c;另外包含了一些为运行时准备的一些配置参数&#xff08;如匿名卷、环境变量、用户等&#xff09;。&#xff08;相比文件的说法&#xff0c;文件系统的说…

Mac电脑空间不足怎么办?如何优化系统

随着使用时间的增长&#xff0c;我们会发现Mac电脑的存储空间越来越少&#xff0c;这时候我们就需要对Mac电脑进行清理&#xff0c;以释放更多的存储空间。那么&#xff0c;Mac空间不足怎么解决呢&#xff1f; 1.清理垃圾文件 Mac空间不足怎么解决&#xff1f;首先要做的就是…

Go语言入门心法(七): 并发与通道

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一: go语言并发与通道