2015-06-04 32 views
0

在獲取提示輸入數字1到10時發生困難 - 並且結果應該添加st,rd,th和nd到數字。 編寫一個程序,提示用戶輸入1到10之間的任何整數,然後以帶有後綴的序號形式顯示該整數。正則表達式java - Java I類

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()下創建掃描儀的行。