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"。