2015-06-04 9 views
0

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

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); 
      } 
     } 
    } 
+0

и ваш вопрос ...? – GabrielOshiro

+0

Short Answer -> [value = input.nextInt()] (http://stackoverflow.com/questions/2506077/how-to-read-integer-value-from-the-standard-input-in-java) ; – Smit

+0

Текст запроса неверный. – JamesB

ответ

1

На мой взгляд, было бы лучше, чтобы двигаться 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)); 
    } 
} 

, а затем добавить к ординалы:

int value = i; 

Метод будет самостоятельный тип формы ввода.

+0

Спасибо m.cekiera - это сработало – deero

1

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