Java言語 登録されたデータをすべて表示

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
riku
記事: 8
登録日時: 9年前

Java言語 登録されたデータをすべて表示

#1

投稿記事 by riku » 9年前

現在、勤怠管理システムの開発をしています。
そこで、あらかじめ登録したデータをすべて表示したいのですが、うまくいきません。
コードを提示します。何か物足りないところがあればお願いします!
(下記のコードは登録されたデータをすべて表示させるときのコードです。)

コード:

package jp.co.techNet.attend.dao.impl;
import java.util.ArrayList;
import java.util.List;
import jp.co.techNet.attend.dao.DAO;
import jp.co.techNet.attend.entity.Entity;

/**
 * DAO実装クラス。<br>
 * 実データとして、テキストファイルからデータの入出力を行う。
 *
 * @author TechnicalNet尾城
 *
 */
public class FileDaoImpl extends FileDaoBase implements DAO {

	/**
	 * 検索処理。<br>
	 * ユーザIDと勤務年月を条件とし、1ヶ月分の勤務データを取得する。
	 *
	 * @param entity
	 *            エンティティ。検索条件を設定する
	 * @return 検索結果
	 */
	@Override
	public final List<Entity> search(final Entity entity) {
		// TODO 未実装につき、要実装
		System.err.println("未実装!:FileDaoImpl.search()");
//		**ローカル変数定義**
//		String型オブジェクト yearmonth
		String yearmonth = new String();

//		int型変数 daycount
		int daycount;

//		String型オブジェクト userid
		String userid = new String();

//		String型オブジェクト day
		String day = new String();

//		String型オブジェクト attend
		String attend = new String();

//		String型配列 array
		String[] array;

//		Entity型オブジェクト ent
		Entity ent = new Entity();

//		ArrayList<Entity>型オブジェクト entitylist
		ArrayList<Entity> entitylist = new ArrayList<Entity>();

//		OutDto型オブジェクト outdto
		//OutDto outdto = new OutDto();

//		ArrayList<OutDto>型オブジェクト outlist
		//ArrayList<OutDto> outlist = new ArrayList<OutDto>();

//		3-1-1-1.Entity型引数 entityのメンバ変数 userIDを、String型オブジェクト useridへ代入する。
		userid = entity.getUserID();

//		3-1-1-2.Entity型引数 entityのメンバ変数 yearMonthを、String型オブジェクト yearmonthへ代入する。
		yearmonth = entity.getYearMonth();

//		3-1-1-3.yearmonthを引数にして親クラスFileDaoBaseのgetDayCount()メソッドを実行する。
//		3-1-1-4.親クラスFileDaoBaseのgetDayCount()メソッドの返り値を、int型変数 daycountへ代入する。
		daycount = getDayCount(yearmonth);

//		3-1-1-5.daycountの値分ループする。ループ回数のint型変数を i とする。
//		**3-1-1-5-12.までループ処理**
		for (int i = 1 ; i <= daycount; i++ ) {

//		3-1-1-5-1. i を引数にしてIntegerクラスのtoString()メソッドを実行する。
//		3-1-1-5-2.IntegerクラスのtoString()メソッドの返り値を、String型オブジェクト dayへ代入する。
		day = Integer.toString(i);

//		3-1-1-5-3.userid, yearmonth, day を引数にして、親クラスFileDaoBaseのread()メソッドを実行する。
//		3-1-1-5-4.親クラスFileDaoBaseのread()メソッドの返り値を、String型オブジェクト attendへ代入する。
		FileDaoBase fdb = new FileDaoBase();
		attend = fdb.read(userid,yearmonth,day);

		//attendがnullだったら
		if ( attend == null ) {
			break;
		}


//		3-1-1-5-5.attendのsplit(",")メソッドを実行して、返り値をString型配列 arrayへ代入する。
		array = attend.split(",");
		
		
//		3-1-1-5-6.arrayの0番目要素をEntity型オブジェクト entityのメンバ変数 userIDへ代入する。
		ent.setUserID(array[0]);

//		3-1-1-5-7.arrayの1番目要素をentityのメンバ変数 yearMonthへ代入する。
		ent.setYearMonth(array[1]);

//		3-1-1-5-8.arrayの2番目要素をentityのメンバ変数 dayへ代入する。
		ent.setDay(array[2]);

//		3-1-1-5-9.arrayの3番目要素をentityのメンバ変数 startTimeへ代入する。
		ent.setStartTime(array[3]);

//		3-1-1-5-10.arrayの4番目要素をentityのメンバ変数 endTimeへ代入する。
		ent.setEndTime(array[4]);

//		3-1-1-5-11.arrayの5番目要素をentityのメンバ変数 statusへ代入する。
		ent.setStatus(Integer.parseInt(array[5]));

//		3-1-1-5-12.entityをArrayList<Entity>型オブジェクト entitylistへ追加する。
		entitylist.add(ent);

		}
//		3-1-1-5.entitylistを、本メソッド(search)の返り値としてreturnする。

		return entitylist;
	}

}
さらに下記が登録されたデータで、表示したデータです。
USER,2013/10,01,9:00,18:00,0
USER,2013/10,02,9:00,18:30,1
USER,2013/10,03,9:00,19:00,2
USER,2013/10,04,9:00,19:30,3
USER,2013/10,05,9:00,20:00,4
USER,2013/10,06,9:00,20:00,5

よろしくお願いします。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: Java言語 登録されたデータをすべて表示

#2

投稿記事 by YuO » 9年前

riku さんが書きました:そこで、あらかじめ登録したデータをすべて表示したいのですが、うまくいきません。
コードを提示します。何か物足りないところがあればお願いします!
(下記のコードは登録されたデータをすべて表示させるときのコードです。)
  • 「うまくいく」とはどういう状況になることを言っているのですか。
  • 不要なコメントが多すぎて読みにくいです。
    コード中のインラインコメントはソースコードの翻訳でしかないため,全て「ゴミ」です。
    「なぜ」こう書いているかが書かれているのであれば有用なコメントですが……。
  • Javaでメソッド先頭に変数の宣言とか,読みにくくしたいのでしょうか。
    さらに,new String()を無駄に代入するとか,富豪プログラミングにも程があります。
  • インデントをちゃんと付けてください。{の次の行から一段下げ,}の行から一段戻します。
  • ベースクラスのメソッドを呼び出す時にわざわざベースクラスをnewする意図がわかりません。
    というか,Baseで終わるようなクラスは通常abstractにしておくべきです。
  • jp.co.techNetというパッケージを見るに,テクネット株式会社の中に訊ねるべき相手はいないのですか。
    というよりもこの質問,質問者がテクネット株式会社の人ならテクネット株式会社の物は買うな,という警鐘にしか思えませんし,テクネット株式会社の人でないならテクネット株式会社の営業妨害に近い気がします。
オフトピック
質問掲示板で会社名出して質問するならそれなりの覚悟が必要ですよ。
「その質問に答えられる人が社内にいない」という風にとられますので。

あと,これは当然内部での実験アプリですよね……。まさかプロダクションコードの一部とかではないですよね……。

閉鎖

“C言語何でも質問掲示板” へ戻る