目次へ

解答例 - 実習課題1 - 2.バッファの操作

(実習課題1)

次の仕様を満たすプログラムを作成してください。

  • 要素数10000のint型配列を明示的に作成し、その配列を補助配列とするIntBufferを作成する。
  • バッファの先頭から順番に1〜10の乱数を書き込む。
  • 書き込んだ値の合計が10000を超えた時点で書き込みを終了する。
  • バッファへの書き込みが終了したあと、バッファに蓄積したデータすべてと要素数を標準出力に出力する。

解答例

package com.techscore.nio.chapter2.subject1;

import java.nio.IntBuffer;
import java.util.Date;
import java.util.Random;

/**
 * Main.java TECHSCORE NewIO 2章 実習課題1
 * 
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */
public class Main {

    public static void main(String[] args) {

        int[] ints = new int[10000];
        IntBuffer buffer = IntBuffer.wrap(ints);

        Random random = new Random();
        random.setSeed((int) new Date().getTime());

        int sum = 0;
        int count = 0;
        final int MAX = 10000;
        for (; count < ints.length; count++) {
            int r = random.nextInt(10) + 1;
            sum += r;
            if (sum > MAX) {
                break;
            }
            buffer.put(r);
        }

        System.out.print("要素数:\t");
        System.out.println(count);

        System.out.print("バッファデータ\t");
        for (int i = 0; i < buffer.array().length; i++) {
            int data = buffer.array()[i];
            System.out.print(String.valueOf(data));
            if (i < buffer.array().length - 1) {
                System.out.print(", ");
            }
        }        
    }
}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp
  • シナジーマーケティング研究開発グループブログ