sdut java实验7.1

简介: 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"。


目录
相关文章
|
1月前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
105 0
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
|
6月前
|
Java
sdut java lab 7.1(法二好理解)
sdut java lab 7.1(法二好理解)
55 1
|
6月前
|
Java 应用服务中间件 AHAS
sdut java lab6主观题
sdut java lab6主观题
35 0
|
6月前
|
人工智能 Java
sdut java lab5
sdut java lab5
36 0
|
6月前
|
Java
sdut java lab7.2(法二)
sdut java lab7.2(法二)
45 0
|
3月前
|
消息中间件 Java Kafka
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
|
3月前
|
数据采集 人工智能 监控
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
|
6月前
|
Java 数据安全/隐私保护
Java程序设计实验2 | Java语言基础(一)
掌握变量的命名是否符合Java关于标识符的命名规则。
50 1
|
6月前
|
存储 算法 Java
Java程序设计实验2 | Java语言基础(二)
分别用do-while和for循环计算1+1/2!-1/3!+1/4!-1/5!…的前20项之和。
75 1
|
6月前
|
Java
SDUT JAVA lab3.9
SDUT JAVA lab3.9
42 2