fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static final String[] PLAYERS = {"O","X"};
  11.  
  12. public static void main (String[] args) throws java.lang.Exception
  13. {
  14. String[] board = new String[3*3];
  15. try {
  16. for( int i = 0; i < 3*3; i++ ){
  17. String player = PLAYERS[i%2];
  18. while(true) {
  19. printBoard(board);
  20. System.out.println("");
  21. System.out.println(player + "の番");
  22. System.out.print("おきたい場所の数字を入力してください: ");
  23.  
  24. String input = br.readLine();
  25. int n;
  26. try {
  27. n = Integer.valueOf(input);
  28. } catch (NumberFormatException e){
  29. System.out.println("エラー:数字を入力してください!");
  30. continue;
  31. }
  32. if( n < 1 || 9 < n ){
  33. System.out.println("エラー:範囲外の値です!");
  34. continue;
  35. }
  36. if( board[n-1] != null ){
  37. System.out.println("エラー:そこはもう置いてあります!");
  38. continue;
  39. }
  40. board[n-1] = player;
  41. break;
  42. }
  43. }
  44. printBoard(board);
  45. System.out.println("終わりです。");
  46. }
  47. catch (IOException e){
  48. System.out.println("入力エラーが発生");
  49. }
  50. }
  51. public static void printBoard(String[] board){
  52. for( int y = 0; y < 3; y ++ ){
  53. if( y != 0 ){
  54. System.out.println("-----------");
  55. }
  56. for( int x = 0; x < 3; x++ ){
  57. if( x != 0 ){
  58. System.out.print("|");
  59. }
  60. int n = y*3 + x;
  61. String m = board[n];
  62. if( m == null ){
  63. m = Integer.toString(n+1);
  64. }
  65. System.out.print(" "+m+" ");
  66. }
  67. System.out.println(" ");
  68. }
  69. }
  70. }
Success #stdin #stdout 0.07s 380480KB
stdin
1
3
5
gg
4
5
2
7
8
5
10
2
6
9

stdout
 1 | 2 | 3  
-----------
 4 | 5 | 6  
-----------
 7 | 8 | 9  

Oの番
おきたい場所の数字を入力してください:  O | 2 | 3  
-----------
 4 | 5 | 6  
-----------
 7 | 8 | 9  

Xの番
おきたい場所の数字を入力してください:  O | 2 | X  
-----------
 4 | 5 | 6  
-----------
 7 | 8 | 9  

Oの番
おきたい場所の数字を入力してください:  O | 2 | X  
-----------
 4 | O | 6  
-----------
 7 | 8 | 9  

Xの番
おきたい場所の数字を入力してください: エラー:数字を入力してください!
 O | 2 | X  
-----------
 4 | O | 6  
-----------
 7 | 8 | 9  

Xの番
おきたい場所の数字を入力してください:  O | 2 | X  
-----------
 X | O | 6  
-----------
 7 | 8 | 9  

Oの番
おきたい場所の数字を入力してください: エラー:そこはもう置いてあります!
 O | 2 | X  
-----------
 X | O | 6  
-----------
 7 | 8 | 9  

Oの番
おきたい場所の数字を入力してください:  O | O | X  
-----------
 X | O | 6  
-----------
 7 | 8 | 9  

Xの番
おきたい場所の数字を入力してください:  O | O | X  
-----------
 X | O | 6  
-----------
 X | 8 | 9  

Oの番
おきたい場所の数字を入力してください:  O | O | X  
-----------
 X | O | 6  
-----------
 X | O | 9  

Xの番
おきたい場所の数字を入力してください: エラー:そこはもう置いてあります!
 O | O | X  
-----------
 X | O | 6  
-----------
 X | O | 9  

Xの番
おきたい場所の数字を入力してください: エラー:範囲外の値です!
 O | O | X  
-----------
 X | O | 6  
-----------
 X | O | 9  

Xの番
おきたい場所の数字を入力してください: エラー:そこはもう置いてあります!
 O | O | X  
-----------
 X | O | 6  
-----------
 X | O | 9  

Xの番
おきたい場所の数字を入力してください:  O | O | X  
-----------
 X | O | X  
-----------
 X | O | 9  

Oの番
おきたい場所の数字を入力してください:  O | O | X  
-----------
 X | O | X  
-----------
 X | O | O  
終わりです。