2. Random | |
Mathクラスには擬似乱数を発生させるrandomメソッドがあったが、それをもう少し高機能にしたものが、このRandomクラスである。 | |
import java.util.Random |
|
コンストラクタ | |
Random() 新しい乱数ジェネレータを作成する |
|
Random(long seed) long型のシードを使って乱数ジェネレータを作成する |
|
メソッド | |
protected int | next(int bits)
次の擬似乱数を生成する |
void | nextBytes(byte[] bytes)
ランダムバイトを生成し、ユーザ指定のバイト配列に配置する |
double | nextDouble()
乱数ジェネレータのシーケンスを使って、0.0〜1.0の範囲で一様分布のdouble型の擬似乱数を返す |
float | nextFloat()
乱数ジェネレータのシーケンスを使って、0.0〜1.0の範囲で一様分布のfloat型の擬似乱数を返す |
double | nextGaussian()
乱数ジェネレータのシーケンスを使って、平均0.0、標準偏差1.0のガウス(「正規」)分布のdouble型の擬似乱数を返す |
int | nextInt()
乱数ジェネレータのシーケンスを使って、一様分布のint型の擬似乱数を返す |
int | nextInt(int n)
乱数ジェネレータのシーケンスを使って、0から指定された値の範囲(0は含むが、その指定された値は含まない) で一様分布の int 型の擬似乱数を返す |
long | nextLong()
乱数ジェネレータのシーケンスを使って、一様分布のlong型の次の擬似乱数を返す |
void | setSeed(long seed)
単一のlong型のシードを使って、乱数ジェネレータのシードを設定す |
sample) MathクラスのrandomメソッドとRandomクラスを用いた場合の例 | |
import java.io.*; import java.util.*; class Test { System.out.println( ); Random rnd new Random( ); |
|
C:\Java\>java Test 0:0.9490168285406363 1:0.1315265909356933 2:0.8805518855113684 3:0.022296367930474403 4:0.9159107068525388 5:0.45377169510241844 6:0.1521866646374057 7:0.2681536733194758 8:0.5647590024766241 9:0.5428563464748609 0:0.9448960819203688 C:\Java\> |
Category: Develop
マルチファイル一括置換作業メモ
Mac で複数ファイルの一括置換作業をすることになった。Windows ではフリーのアプリがたくさんあるが、Mac ではなかなか適当なものが見つからず、コマンドラインでの作業がベストと判断。
■コマンドライン
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
find ./ -name "*.xml" -exec perl -i -pe 's|<br>\r||g' {} \;
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
意味:このディレクトリ以下の全てのxmlファイルの<br>を取り除く
□ Mac = ¥r Windows = ¥r¥n
□オプション
find [dir name] :条件に合うファイルを指定したフォルダ以下から探す
-name "[target name]": 名前で検索、*はワイルドカード
-exec [cmd] {}:見つかったファイルのパスを{}に代入してcmdの内容を実行
\; : ここで終わ
perl:実行するのはperl
-e :perlを実行して処理後perlを終了
-p :置換をファイルの先頭から最後までループ
-i:複数ファイル一括処理
's|[a]|[b]|': aをbに置換
g:繰り返し置換
vi
command | movement | etc |
Mode Change | ||
i | カーソル位置の手前から入力モードへ移行 | |
a | カーソル位置の後から入力モードへ移行 | |
O | カーソル位置の上の行に、行を追加し入力モードへ | |
o | カーソル位置の下の行に、行を追加し入力モードへ | |
Esc | コマンドモードへ移行 | |
File | ||
vi FileName | ファイル名を指定して、起動 | vi -r filename ファイル修復 |
:w FileName | 名前を付けて保存 | |
:w | ファイルを上書き保存 | |
:wq | ファイルを保存して終了 | |
:q | viを終了 | |
:q! | 保存せずに終了 | |
:set number | 行番号表示 | |
Cursor | ||
k | 上へ移動 | 5kとすると、5行上へ移動 |
j | 下へ移動 | 5jとすると、5行下へ移動 |
h | 左へ移動 | 5hとすると、5文字左へ移動 |
l(小文字のL) | 右へ移動 | 5lとすると、5文字右へ移動 |
gg | ファイルの先頭行に移動 | |
10G | 10行目へ移動 | 10は任意の数字 |
G | ファイルの末尾へ移動 | |
Edit | ||
X | カーソルの手前の文字を削除(バッファに記憶) | P又はpで張り付け |
x | カーソル位置の文字を削除(バッファに記憶) | P又はpで張り付け |
dd | カーソル位置の行を削除(バッファに記憶) | P又はpで張り付け |
P | カーソルの手前で張り付け(バッファ内の文字列) | |
p | カーソルの後で張り付け(バッファ内の文字列) | |
u | 元に戻す | |
yy | カーソル行をコピー | |
zz | 終了(変更されている場合)は保存 | |
Search/Replace | ||
/検索文字列 | 下へ検索 | n 検索の再実行 |
?検索文字列 | 上へ検索 | n 検索の再実行 |
:1,$s/mojiold/mojinew/gc | ファイル内の文字を置換え | 1=検索開始行、$=検索終了行($は最終行)、 s=置換えoption、 mojiold=検索文字、mojinew=置換え文字、 g=全て置換え(無ければ最初に見付かった文字のみ) c=置き換える前に確認(無ければ問答無用で置き換え) |
:%s/@@@/\\\/g | 一括置換 | :%s/pattern1/pattern2/g ( パターン1がパターン2に全て置き換わる) |
Editor Customize | ||
set autoindent | 改行時に上の行と同じく自動インデントする | |
set number | 行番号を表示する | |
set ruler | ルーラー(右下に表示される行・列の番号)を表示する | |
set tabstop=数値 | タブの大きさを半角スペース数で指定 | |
set nowrap | 折り返し表示しない | |
set history=数値 | コマンド履歴の保存数 | |
set backup | ファイルを保存する時にバックアップファイルを作成する | |
set nobackup | バックアップファイルを作成しない | |
syntax on | off | カラー表示のオンまたはオフ |