自作System.out.println

Javaに関してはほぼメモ書き程度に残しておきます。

ちょっと不便に思ってた

System.out.println()でコンソールに表示する際、
単にint型やString型などを表示するには何の問題もないですが、
2次元配列も一発でコンソールに表示させたいなーって思ったのが始まり。

あと、boolean型もfalseやtrueじゃなくて0か1でも十分かとも思ったり。

ということで、自作メソッドを作成。

本に載ってるメソッドを真似して作ったことは何度もありましたが、
「こういうのあったら(自分にとっては)便利だよなー」と思い作成したのはこれが初めてでした。

簡単すぎて参考にならないと思いますが、
この管理者はこういうのから始めたんだなーって思ってください。

後、初めてHighlighting Code Blockを使ってみました。

Dispメソッド

メソッド名はDispにしました。
引数はオーバーロード。

int型、long型、double型、String型

void Disp(int iDisp)
{
	System.out.println(iDisp);
}

たったこれだけです。

こんなものか、と思ってくださっても構いません。
自分にとっては、「これを作ったら便利そう」と思えたことが第一歩だと考えてます。

long型もdouble型もString型も同じです。

void Disp(long lDisp)
{
	System.out.println(lDisp);
}

void Disp(double dDisp)
{
	System.out.println(dDisp);
}

void Disp(String strDisp)
{
	System.out.println(strDisp);
}

boolean型

boolean型もそのまま表示させてもいいですが、
せっかくなので少し手を加えました。

trueとfalseだと、表示されるとき4文字と5文字で文字数が異なるので、
1か0で表示させたら見やすいかなー、と処理を増やしました。

後に出てくる、配列時は0か1のほうが個人的には見やすいです。

void Disp(boolean bDisp)
{
	if(bDisp)
		System.out.println(1);
	else
		System.out.println(0);
}

1次元配列

この自作メソッド、どちらかというとこの1次元配列と、次の2次元配列を表示させるのがメインで使っています。

int、String、boolean一気に紹介します。

void Disp(int[] iArray)
{
	String strDisp = "";     // 1行表示用
	for(int i = 0; i < iArray.length; i++)
	{
		strDisp += iArray[i];
		if(i != iArray.length - 1)
			strDisp += " ";   // 空白スペース
	}
	System.out.println(strDisp);
}

void Disp(String[] strArray)
{
	String strDisp = "";     // 1行表示用
	for(int i = 0; i < strArray.length; i++)
	{
		strDisp += strArray[i];
		if(i != strArray.length - 1)
			strDisp += " ";   // 空白スペース
	}
	System.out.println(strDisp);
}

void Disp(boolean[] bArray)
{
	String strDisp = "";     // 1行表示用
	for(int i = 0; i < bArray.length; i++)
	{
		if(bArray[i])
			strDisp += "1";
		else
			strDisp = "0";

		if(i != bArray.length - 1)
			strDisp += " ";   // 空白スペース
	}
	System.out.println(strDisp);
}

2次元配列

1次元配列を2重ループにするだけです。

void Disp(int[][] iArray)
{	
	for(int i = 0; i < iArray.length; i++)
	{
		String strDisp = "";     // 1行表示用
		for(int j = 0; j < iArray[i].length; j++)
		{
			strDisp += iArray[i][j];
			if(j != iArray[i].length - 1)
				strDisp += " ";   // 空白スペース
		}
		System.out.println(strDisp);
	}
}

void Disp(int[][] strArray)
{	
	for(int i = 0; i < strArray.length; i++)
	{
		String strDisp = "";     // 1行表示用
		for(int j = 0; j < strArray[i].length; j++)
		{
			strDisp += strArray[i][j];
			if(j != strArray[i].length - 1)
				strDisp += " ";   // 空白スペース
		}
		System.out.println(strDisp);
	}
}

void Disp(boolean[][] bArray)
{	
	for(int i = 0; i < bArray.length; i++)
	{
		String strDisp = "";     // 1行表示用
		for(int j = 0; j < bArray[i].length; j++)
		{
			if(bArray[i][j])
				strDisp += "1";
			else
				strDisp += "0";
			if(j != bArray[i].length - 1)
				strDisp += " ";   // 空白スペース
		}
		System.out.println(strDisp);
	}
}

List

Listも同じようにできます。

void Disp(List<Integer> list)
{
	String strDisp = "";
	for(int i = 0; i < list.size(); i++)
	{
		strDisp += list.get(i);
		if(i != list.size() - 1)
			strDisp += " ";
	}
	System.out.println(strDisp);
}

この自作メソッドはたまに使いますが、どちらかというと別の目的で作っています。

開発環境でExlipseを使っているのですが、Listって使っていないと

import java.util.List;

が「使ってないならimport必要ないよねー」って勝手に消えてくれると思うのですが。

あれはあれでいいのかもしれませんが、たまに再度List操作を行おうとするといちいちimport文書かなければならないので、
この自作メソッドを置いておいて「import java.util.List;」が消えないよう対策(?)しているだけです。

多分設定だけでなんとかできそうではあると思っているのですが、
今Javaはメインで使っていないので、気が向いたら探してみようと思います。

Timerメソッド

「これってどれくらいの処理時間なんだろう」って思いいたるときもあり、
メソッドを作成しました。

使うとすれば主に競技プログラミングの問題を解いてる時です。

long Timer() //スタート
{
	return System.currentTimeMillis();
}

long Timer(long lStart)
{
	return System.currentTimeMillis() - lStart;  //「現在時間」 - 「引数(スタート時間)」
}

実行

終わりに

初めてコードをブログで書いてみる、ということをしてみました。

もう少しいい感じに紹介できればと思っているので、
今は温かい目で読んでいただけると本当にうれしいです。

3年ほど前、この業界に足を入れて初めて作ってみたメソッドを紹介してみました。

コメント

タイトルとURLをコピーしました