import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;


public class WordReaderTest {

  public static void main(String[] args) {

    // WordReaderDsp(new FileWordReader("Test.txt", "UTF-8"));

    System.out.println("2次元配列array[y][x]の四隅を指定せよ。");

    System.out.println("array[y][x]の引数を「x」「y」の順番で入力する、「x」「y」は「0~2」の半角数字を入力する、「x」「y」の間にはスペースを入れる。");

    System.out.println("エラーにならない限りは4回まで入力できます。");

    System.out.println();

    System.out.println("入力を開始して下さい。");

    WordReaderDsp(new Scanner2());

  }


  public static void WordReaderDsp(IFWordReader wr) {

    char[][] array = new char[3][3];

    for (int k = 1; k <= 4; k++) {

      try {

        int x = (int) Float.parseFloat(wr.next());

        int y = (int) Float.parseFloat(wr.next());

        array[y][x] = '●';

        System.out.printf("array[%d][%d]%n", y, x);

        for (int i = 0; i < array.length; i++) {

          char[] c1 = array[i];

          for (int j = 0; j < array.length; j++) {

            char c0 = c1[j];

            System.out.print(c0 == 0 ? '□' : c0);

          }

          System.out.println();

        }

        System.out.println();

      } catch (ArrayIndexOutOfBoundsException ex) {

        System.out.println("Array Index Out Of Bounds Exception.");

        break;

      } catch (NullPointerException ex) {

        break;

      }

    }

    System.out.print("End.");

  }

}


interface IFWordReader {

  public String next();

}


class FileWordReader implements IFWordReader {

  ArrayList<String> buffere = new ArrayList<String>();


  public FileWordReader(String file, String encoding) {

    try (

        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), encoding));) {

      String line = null;

      while ((line = reader.readLine()) != null) {

        String[] lbuf = line.split(" ");

        // System.out.println(line);

        for (String s : lbuf) {

          if (0 < s.compareTo("")) {

            buffere.add(s);

          }

        }


      }

    } catch (IOException ex) {

      ex.printStackTrace();

    }

  }


  public String next() {

    String res = null;

    try {

      res = buffere.remove(0);

    } catch (IndexOutOfBoundsException e) {

      res = null;

    }

    return res;

  }

}


class Scanner2 implements IFWordReader {

  Scanner sc;


  public Scanner2() {

    sc = new Scanner(System.in);

  }


  public String next() {

    return sc.next();

  }

}


【Test.txt】
0 0
2 0
0 2
2 2

コメント

このブログの人気の投稿