package j1.lesson06;
import java.io.*;
/**
* 課題0601 - 解答例.
* @author s.arakawa
* @version $Id: ToOrdinal_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class ToOrdinal {
/**
* コンソールから0以上の整数を入力させ、
* その数の序数表現の略語 (0th, 1st, 2nd, 3rd, 4th) を表示するプログラム。
* ただし、11th, 12th, 13th で終わる略語は考慮しなくても良い。
* @param args 無視される
* @throws IOException 入力中に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("0以上の整数を入力:");
int number = Integer.parseInt(reader.readLine());
// 0未満ならエラー
if (number < 0) {
System.out.println("0以上の数を入力してください");
}
// 100 で割ったあまりが 11 ~ 13 の時は特殊
// (課題ではこの部分は考慮しないでよい)
else if (11 <= (number % 100) && (number % 100) <= 13) {
System.out.println(number + "th");
}
// あとは 10 で割ったあまりで判断
else {
switch (number % 10) {
// ..1st
case 1:
System.out.println(number + "st");
break;
// ..2nd
case 2:
System.out.println(number + "nd");
break;
// ..3rd
case 3:
System.out.println(number + "rd");
break;
// ..nth
default:
System.out.println(number + "th");
}
}
}
}
|