Ordinals Java - класс Java Я

Застрял в получении запроса на ввод числа от 1 до 10 - и результаты должны добавить st, rd, th и nd к числу. Напишите программу, которая предлагает пользователю ввести любое целое число от 1 до 10, а затем отображает целое число в порядковой форме с присоединенным суффиксом.

public class Ordinals {

    public static String Ordinals(int i) {

            System.out.println("Enter an integer between 0 to 10: ");
            Scanner input = new Scanner(System.in);


            int hundred = value % 100;
            int tens = value % 10;
            if (hundred - tens == 10) {
                return "th";
            }
            switch (tens) {
            case 1:
                return "st";
            case 2:
                return "nd";
            case 3:
                return "rd";
            default:
                return "th";

            }


        public static void main(String[] args) {
            Ordinals number = new Ordinals();
            for (int i = 1; i <= 10; i++) {
                String st = number.Ordinals(i);
                System.out.println(i + " = " + i + st);
            }
        }
    }

2 ответа

Решение

На мой взгляд, было бы лучше двигаться Scanner на главную:

public static void main(String[] args) {
    Ordinals number = new Ordinals();
    Scanner input = new Scanner(System.in);
    while(true){
        System.out.println("Enter an integer between 0 to 10: ");
        int i = input.nextInt();
        System.out.println(i+number.Ordinals(i));
    }
}

а затем добавить в Ordinals:

int value = i;

Метод будет независимым от типа ввода.

Добавлять value = input.nextInt() под линией создания сканера.

Другие вопросы по тегам