根据你的要求,我给出了修改后的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)来获取工人号码对应的序数词。
希望这个代码能满足你的需求。如果你有任何问题,请随时提问。
如果回答对你有帮助,请给我一个最佳答案!

