2015-06-04 20 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()下创建扫描仪的行。