コンテンツにスキップ

パッケージ利用

import文を利用することでパッケージを利用できる。
またはフルパスでべた書き指定もできる。

import java.io.*;
// * はワイルドカード
import java.lang.StringBuffer;

public class PackageTest{
    public static void main(String[] args) throws IOException {
         //べた書き
         //--------------------------------------------------------------------------
         // ランダムな値を出す。
         //----------------------------------------
         // Randomクラス・インスタンス生成
         java.util.Random r = new java.util.Random();
         //INT型のランダムを十個。
         System.out.println("**** Int ****");
         for(int i=1; i<10; i++)
            System.out.println(r.nextInt()+" ");
         System.out.println();
         //DOUBLE型のランダムを十個。
         System.out.println("**** Double ****");
         for(int i=1; i<10; i++)
            System.out.println(r.nextDouble()+" ");
         System.out.println();
         //-----------------------------------------------------------------------------
         // BufferedReaderテスト(標準入力※のテスト)
         System.out.println("Buff Reader Test.");
         //--------------------------------------------------
         //※ 標準入力とは、外から入力される(キーボード相当)の入力。逆に画面に出力されるものなどを標準出力と呼ぶ。
         // java.io 内のパッケージ群
         BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
         /* 分解すると
         InputStreamReader inp_reader = new InputStreamReader(System.in);
         BufferedReader buf = new BufferedReader(inp_reader);
         こんなかんじ。
         */
         System.out.print("Plz Input anything > ");
        //入力欄をつくる
         StringBuffer inpbuff = new StringBuffer(buf.readLine());
         /* 分解すると
         String inp = buf.readLine();
         StringBuffer inpbuff = new StringBuffer(inp);
         */
        System.out.println("REVERSE>>> "+ inpbuff.reverse().toString());
        //----------------------------------------------------------------
        // 一行で無理やり書くとこんな感じ(非推奨だけどね)
        system.out.println("ONE_LINE_REVERSE>>> "+ (new StringBuffer((new BufferedReader(new InputStreamReader(System.in))).readLine())).reverse().toString());
        /* 分解するとこうみえる
        //------------------------------------
        system.out.println(
            "ONE_LINE_REVERSE>>> "
            +
            (
                (
                    new stringbuffer(
                        new bufferedreader(
                            new inputstreamreader(system.in)
                    )
                ).readline()
            ).reverse().tostring()
        );
        //--------------------------------------
        */
    }
}

実践

CSVというファイル形式がある。

name,url,memo
Google,www.google.com,Search Engine
TUIS,www.tuis.ac.jp,Tokyo Univ. Info. Sciences
Twitter,twitter.com,SNS
Quora,jp.quora.com,Q and A

,で列を区切り、改行*(\n)で行を作成する。

readLine*() で入力値を読み取り、CSV形式で出力させることはできるか?

動きを考える

  • StringBufferを用意しておく。
  • while true で無限ループさせる
  • String name <- 入力
    • 入力された値が特定のものだったらbreakさせてループ終了。
  • String url <- 入力
  • String memo <- 入力
  • String line = name + "," + url + "," + memo "\n";
  • StringBufferでappend(line)して追加
  • System.out.println(StringBufferのtoString());する

最終更新日: 2021年4月30日