根据你的要求,我给出了修改后的Java代码,用于生成并打印英语序数词。以下是完整的修改后的代码:
- import java.util.Random;
- import java.util.Scanner;
- public class ArrayDemo7 {
- public static void main(String[] args) {
- int[] codes = new int[5];
- 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[i] = code;
- }
-
- Random r = new Random();
- for (int i = 0; i < codes.length; i++) {
- int index = r.nextInt(codes.length);
- int temp = codes[index];
- codes[index] = codes[i];
- codes[i] = temp;
- }
-
- for (int i = 0; i < codes.length; i++) {
- System.out.println(codes[i]);
- }
- }
-
- 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)来获取工人号码对应的序数词。
希望这个代码能满足你的需求。如果你有任何问题,请随时提问。
如果回答对你有帮助,请给我一个最佳答案!
