请问如何生成并打印英语序数词 1st 2nd 3rd
中间有一段 打印提示客户输入工人号码这个打印提示输入 可以生成英语的序数词那样的吗?比如Enter the 12nd worker numberpackage mk;
import java.util.Random;
import java.util.Scanner;
public class ArrayDemo7 {
public static void main(String[] args) {
int[] codes = new int;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < codes.length; i++) {
System.out.println("Enter worker number:");
//这个上面有办法生成英语序数词吗 Enter the 1st/3rd/5th worker number
int code = sc.nextInt();
codes = code;
}
Random r = new Random();
for (int i = 0; i < codes.length; i++) {
int index = r.nextInt(codes.length);
int temp = codes;
codes = codes;
codes = temp;
}
for (int i = 0; i < codes.length; i++) {
System.out.println(codes + " " );
}
}
}
根据你的要求,我给出了修改后的Java代码,用于生成并打印英语序数词。以下是完整的修改后的代码:
import java.util.Random;
import java.util.Scanner;
public class ArrayDemo7 {
public static void main(String[] args) {
int[] codes = new int;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < codes.length; i++) {
System.out.print("Enter the " + getOrdinal(i+1) + " worker number: ");
int code = sc.nextInt();
codes = code;
}
Random r = new Random();
for (int i = 0; i < codes.length; i++) {
int index = r.nextInt(codes.length);
int temp = codes;
codes = codes;
codes = temp;
}
for (int i = 0; i < codes.length; i++) {
System.out.println(codes);
}
}
public static String getOrdinal(int number) {
if (number == 11 || number == 12 || number == 13) {
return number + "th";
} else if (number % 10 == 1) {
return number + "st";
} else if (number % 10 == 2) {
return number + "nd";
} else if (number % 10 == 3) {
return number + "rd";
} else {
return number + "th";
}
}
}
这段代码会提示用户输入工人号码,并且使用英语序数词(1st、2nd、3rd等)进行提示。在getOrdinal()方法中,我们根据给定的数字判断并返回相应的英语序数词。在输入工人号码时,使用getOrdinal(i+1)来获取工人号码对应的序数词。
希望这个代码能满足你的需求。如果你有任何问题,请随时提问。
如果回答对你有帮助,请给我一个最佳答案!{:10_254:}{:10_254:}{:10_254:}
可以使用一个方法来生成英语的序数词。首先,创建一个方法 getOrdinalNumber ,接收一个整数参数 number ,返回对应的英语序数词。在方法中,首先判断个位数是否为1、2或3,然后根据不同的情况返回对应的序数词。对于其他情况,可以使用默认的序数词规则,即在数字后面添加"th"。以下是修改后的代码:
import java.util.Random;
import java.util.Scanner;
public class ArrayDemo7 {
public static void main(String[] args) {
int[] codes = new int;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < codes.length; i++) {
System.out.println("Enter worker number:");
int code = sc.nextInt();
codes[ i] = code;
}
Random r = new Random();
for (int i = 0; i < codes.length; i++) {
int index = r.nextInt(codes.length);
int temp = codes;
codes = codes[ i];
codes[ i] = temp;
}
for (int i = 0; i < codes.length; i++) {
System.out.println("Enter the " + getOrdinalNumber(codes[ i]) + " worker number");
}
}
public static String getOrdinalNumber(int number) {
if (number >= 10 && number <= 20) {
return number + "th";
} else {
int lastDigit = number % 10;
switch (lastDigit) {
case 1:
return number + "st";
case 2:
return number + "nd";
case 3:
return number + "rd";
default:
return number + "th";
}
}
}
}
在上述代码中,我们添加了一个 getOrdinalNumber 方法来生成英语的序数词。在主循环中,使用 getOrdinalNumber 方法来打印提示信息。 本帖最后由 Mike_python小 于 2023-8-6 18:25 编辑
要生成并打印英语序数词(1st, 2nd, 3rd),可以编写一个辅助函数来实现。以下是修改后的Java代码:
java
import java.util.Random;
import java.util.Scanner;
public class ArrayDemo7 {
public static void main(String[] args) {
int[] codes = new int;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < codes.length; i++) {
System.out.println("Enter the " + getOrdinalNumber(i+1) + " worker number:");
int code = sc.nextInt();
codes = code;
}
sc.close();
Random r = new Random();
for (int i = 0; i < codes.length; i++) {
int index = r.nextInt(codes.length);
int temp = codes;
codes = codes;
codes = temp;
}
for (int i = 0; i < codes.length; i++) {
System.out.println(codes + " ");
}
}
public static String getOrdinalNumber(int number) {
if (number % 10 == 1 && number % 100 != 11) {
return number + "st";
} else if (number % 10 == 2 && number % 100 != 12) {
return number + "nd";
} else if (number % 10 == 3 && number % 100 != 13) {
return number + "rd";
} else {
return number + "th";
}
}
}
在上述代码中,我们添加了getOrdinalNumber函数来生成英语的序数词。它接受一个整数作为输入,并返回相应的序数词字符串。然后,在用户输入时,我们使用getOrdinalNumber(i+1)来获取正确的序数词提示。这样,打印提示语句就会变成"Enter the 1st/2nd/3rd/4th/5th worker number:"。
运行修改后的代码,用户将能够根据工人编号输入相应的序数词,并按照打乱后的顺序打印出来。
希望这个回答对你有帮助!如果还有其他问题,请随时提问。
如果回答对你有帮助,请给我一个最佳答案!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页:
[1]