sdut java实验7.1

7-1 sdut-JAVA-Pig Latin

分数 12

全屏浏览

切换布局

作者 马新娟

单位 山东理工大学

Write a program that requests a word as input, translates the word into Pig Latin and outputs the word input and its equivalent in Pig Latin. The rules for translating a word are as follows:

Rule 1: If a word begins with a consonant, move the first letter to the end of the word and add ay to the end of the word. For example, Chip becomes hipCay.

Rule 2: If the word begins with a vowel, add way to the end of the word. For example, else becomes elseway.

Input Specification:

Request a word as input.

Output Specification:

Outputs the word input and its equivalent in Pig Latin.

Sample Input1:

 

Sample Output1:

No input provided to convert to Pig Latin.

Sample Input2:

123anksO

Sample Output2:

Input should comprise of alphabetic characters only.

Sample Output3:

123anksO

Sample Output3:

Input should comprise of alphabetic characters only.

Sample Output4:

day

Sample Output4:

Word Input: day
Pig Latin: ayday

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
      
        String arr = sc.nextLine();
        if(arr.isBlank()){
            System.out.println("No input provided to convert to Pig Latin.");
            System.exit(0);
       }
        for(int i = 0;i<arr.length();i++){
            if(Character.isDigit(arr.charAt(i))){
                System.out.println("Input should comprise of alphabetic characters only.");
                System.exit(0);
            }
        }
        
            if(arr.charAt(0) == 'a'||arr.charAt(0) == 'e'||arr.charAt(0) == 'i'||arr.charAt(0) == 'o'||arr.charAt(0) == 'u'||arr.charAt(0) == 'A'||arr.charAt(0) == 'E'||arr.charAt(0) == 'I'||arr.charAt(0) == 'O'||arr.charAt(0) == 'U'){
                System.out.println("Word Input: "+arr);
                System.out.println("Pig Latin: "+arr+"way");
                System.exit(0);
        }
            else {
                System.out.println("Word Input: "+arr);
                System.out.print("Pig Latin: ");
                for(int i = 1;i<arr.length();i++){
                    System.out.print(arr.charAt(i));
                }
                System.out.print(arr.charAt(0)+"ay");

            }
    


       
}
}
 

import java.util.Scanner;

导入Java的Scanner类,用于读取用户的输入。

 

public class Main {

定义了一个名为Main的公共类。

 

public static void main(String[] args) {

定义了程序的入口点main方法。

 

Scanner sc = new Scanner(System.in);

创建了Scanner类的一个实例sc,用于从标准输入读取数据。

 

String arr = sc.nextLine();

读取用户输入的一整行文本,并将其存储在字符串变量arr中。

 

if(arr.isBlank()){

检查用户输入的字符串是否是空白的(只包含空格或没有字符)。

 

System.out.println("No input provided to convert to Pig Latin.");

如果输入是空白的,打印一条消息并退出程序。

 

System.exit(0); }

使用System.exit(0)来正常退出程序。

 

for(int i = 0; i < arr.length(); i++){

遍历字符串arr中的每个字符。

 

if(Character.isDigit(arr.charAt(i))){

检查当前字符是否是数字。

 

System.out.println("Input should comprise of alphabetic characters only.");

如果输入包含数字,打印一条消息并退出程序。

 

System.exit(0); } }

结束for循环和if语句。

 

if(arr.charAt(0) == 'a' || arr.charAt(0) == 'e' || arr.charAt(0) == 'i' || arr.charAt(0) == 'o' || arr.charAt(0) == 'u' || arr.charAt(0) == 'A' || arr.charAt(0) == 'E' || arr.charAt(0) == 'I' || arr.charAt(0) == 'O' || arr.charAt(0) == 'U'){

检查字符串arr的第一个字符是否是元音字母。

 

System.out.println("Word Input: "+arr);

打印原始输入的单词。

 

System.out.println("Pig Latin: "+arr+"way");

对于以元音开头的单词,将"way"添加到单词的末尾,并打印结果。

 

System.exit(0); }

结束if语句,并退出程序。

 

else {

如果第一个字符不是元音字母,执行else代码块。

 

System.out.println("Word Input: "+arr);

打印原始输入的单词。

 

System.out.print("Pig Latin: ");

打印"Pig Latin: "作为输出的开始。

 

for(int i = 1; i < arr.length(); i++){

从字符串arr的第二个字符开始遍历,直到最后一个字符。

 

System.out.print(arr.charAt(i));

在for循环中,打印当前索引处的字符。

 

}

结束for循环。

 

System.out.print(arr.charAt(0)+"ay");

将原始单词的第一个字符和"ay"拼接,并打印出来,形成猪拉丁表达。

 

}

结束else代码块。

 

}

结束main方法。

 

}

结束Main类。

这个程序首先检查输入是否有效,然后根据猪拉丁的规则将输入的单词转换为猪拉丁形式。对于以元音开头的单词,它简单地在单词后面加上"way"。对于以辅音开头的单词,它将第一个辅音移动到单词的末尾,并加上"ay"。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++-10

1.C一个程序&#xff0c;实现两个类&#xff0c;分别存放输入的字符串中的数字和字母&#xff0c;并按各自的顺序排列&#xff0c; 类中实现-一个dump函数&#xff0c;调C用后输出类中当前存放的字符串结果。 例如&#xff0c;输入1u4y2a3d,输出:存放字母的类&#xff0c;输出a…

机器人正反向运动学(FK和IK)

绕第一个顶点可以沿Z轴转动&#xff0c;角度用alpha表示 绕第二个点沿X轴转动&#xff0c;角度为Beta 第三个点沿X轴转动&#xff0c;记作gama 这三个点构成姿态&#xff08;pose&#xff09; 我们记第一个点为P0&#xff0c;画出它的本地坐标系&#xff0c;和世界坐标系一样红…

无人机+三维建模:倾斜摄影技术详解

无人机倾斜摄影测量技术是一项高新技术&#xff0c;近年来在国际摄影测量领域得到了快速发展。这种技术通过从一个垂直和四个倾斜的五个不同视角同步采集影像&#xff0c;从而获取到丰富的建筑物顶面及侧视的高分辨率纹理。这种技术不仅能够真实地反映地物情况&#xff0c;还能…

设计模式 --6组合模式

文章目录 组合模式应用场景组合模式概念组合模式结构图透明方式和安全方式什么时候使用组合模式公司管理系统使用 组合模式来构架组合模式的好处 组合模式应用场景 整体和部分可以被一致性对待 比如人力资源部 财务部的管理功能可以复用于分公司的功能 可以引入一种 树状的结构…

【webrtc】MessageHandler 2: 基于线程的消息处理:以PeerConnectionClient为例

PeerConnectionClient 前一篇 nullaudiopoller 并么有场景线程,而是就是在当前线程直接执行的, PeerConnectionClient 作为一个独立的客户端,默认的是主线程。 PeerConnectionClient 同时维护客户端的信令状态,并且通过OnMessage实现MessageHandler 消息处理。 目前只处理一…

AI大模型日报#0430:疑似GPT4.5模型刷屏、上交实现「蛋白质功能定向进化」、微软紧急撤回WizardLM-2

导读&#xff1a; 欢迎阅读《AI大模型日报》&#xff0c;内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了今日要点以及每条资讯的摘要。 《AI大模型日报》今日要点&#xff1a; 在AI大模型领域&#xff0c;多项研究进展和行业应用动态引发关注。一夜之间&#x…

Gateway Predicate断言(谓词)

是什么 Spring Cloud Gateway匹配路由作为Spring WebFlux HandlerMapping基础设施的一部分。 Spring Cloud Gateway包含许多内置的路由谓词工厂。 所有这些谓词都匹配HTTP请求的不同属性。 您可以使用逻辑 and 语句来联合收割机组合多个路由谓词工厂。 Predicate就是为了实现一…

sum函数搭配group by /having的案例说明

记录一些常用的函数及用法 --查询份额大于1w的投资人信息。 聚合数据的筛选&#xff1a;当你需要基于聚合函数&#xff08;如 SUM(), AVG(), MAX(), MIN(), COUNT() 等&#xff09;的结果来过滤记录时&#xff0c;使用 HAVING 子句。 组合条件&#xff1a;HAVING 子句可以使用…

Nginx配置Https缺少SSL模块

1、Linux下Nginx配置https nginx下载和安装此处就忽略&#xff0c;可自行百度 1.1、配置https 打开nginx配置文件 vim /opt/app/nginx/conf/nginx.conf相关https配置 server {listen 443 ssl; #开放端口server_name echarts.net;#域名#redirect to https#ssl on; #旧版#ssl证…

ubuntu 利用阿里网盘API实现文件的上传和下载

文章目录 背景脚本初始化 阿里云盘API工具 aligo安装aligoaligo教程实战parse.py 演示上传文件上传文件夹下载文件下载文件夹 背景 最近在用ubuntu系统做实验&#xff0c;而ubuntu 系统的文件上传和下载操作很麻烦&#xff1b; 于是便打算使用阿里网盘的API 进行文件下载与上传…

VitePress 构建的博客如何部署到 Netlify 平台?

VitePress 构建的博客如何部署到 Netlify 平台&#xff1f; 前言 之前写了篇文章【使用 Vitepress 构建博客并部署到 github 平台】&#xff0c;有个老哥说 github page 访问太慢了&#xff0c;希望放到 Netlify 平台上面。 咱也没部署过&#xff0c;就试了一下&#xff0c;发…

JAVA面试专题-Redis

你在最近的项目中哪些场景使用了Redis 缓存 缓存穿透 缓存穿透&#xff1a;查询一个不存在的数据&#xff0c;mysql查询不到数据也不好直接写入缓存&#xff0c;导致每次请求都查数据库。 解决方案一&#xff1a;缓存空数据&#xff0c;即使查询返回的数据为空&#xff0c;也把…

C#应用程序实现多屏显示

前言 随着业务发展&#xff0c;应用程序在一些特定场景下&#xff0c;只在一个显示器上展示信息已经不能满足用户需求。我们如何把主屏运行程序中多个窗体移动到各个扩展屏幕位置显示呢&#xff1f;C# 是通过什么方式来实现的&#xff0c;下面介绍 C# 使用 Screen 类的方式来实…

vue+elementUI实现点击左右箭头切换按钮功能

原本是可以用el-tabs做的,就像下面的样式,但是领导说不行 最后用button和element里面的el-carousel(走马灯)结合了一下 长这样 感觉还不错 可以自己改样式 代码如下: <div class"drawer-carousel"><el-carousel arrow"always" :loop"false…

Linux基础part-5

1、Linux用户与用户组管理 1、用户是什么&#xff1f; 实现资源分派&#xff08;区分和管理系统资源的访问权限&#xff0c;将不同的资源分配给不同的用户&#xff09;实现认证pam和授权&#xff08;用户身份通常通过用户名和密码进行认证&#xff0c;认证成功后系统将授予用…

开源、轻量、易用的服务器实时监控工具:哪吒探针

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 哪吒探针是一个开源、轻量、易用的服务器监控、运维工具&#xff0c;它有以下几个特点&#xff1a; 一键安装&#xff1a;可以一键安装面板与 Agent&#xff0c;并且支持 Linux、Windows、MacOS、OpenWRT…

scikit-learn:Python中的机器学习-1

简介&#xff1a;问题设置 什么是机器学习&#xff1f; 机器学习是关于构建具有可调参数的程序&#xff0c;这些参数可以自动调整&#xff0c;以便通过适应先前看到的数据来改善其行为。机器学习可以被认为是人工智能的一个子领域&#xff0c;因为这些算法可以被视为构建模块…

气象数据nc数据矢量化处理解析及可视化

气象数据可视化是将气象学领域中复杂的数据集转化为图形或图像的过程&#xff0c;以直观展示天气现象、气候模式、趋势和预报结果。气象数据的可视化技术广泛应用于科学研究、气象预报、航空、航海、农业生产、灾害预警系统、城市规划、公众服务等领域。以下是一些关键的气象数…

CSAPP | Bits, Bytes, and Integers

Great Reality Ints are not Integers, Floats are not Reals 对于 (x y) z x (y z)&#xff0c;无符号整形和有符号整形是成立的。 但是对于浮点数, (1e20 -1e20) 3.14 -> 3.14&#xff0c;而 1.e20 (-1e20 3.14) 0 typedef struct {int a[2];double d; }stru…

【LeetCode】拓扑排序——课程表 I II

拓扑排序&#xff1a; AOV网&#xff1a;若用DAG图&#xff08;有向无环图&#xff09;表示一个工程&#xff0c;其顶点表示活动&#xff0c;用有向边<Vi, Vj>表示活动Vi必须先于活动Vj进行的这样一种关系&#xff0c;则将这种有向图称为顶点表示活动的网络&#xff0c;…
最新文章