回答編集履歴

5

いろいろ

2023/07/04 22:32

投稿

guap
guap

スコア4

test CHANGED
@@ -5,10 +5,7 @@
5
5
 
6
6
  System.out.println(count + "件更新されました。");でcountを表示していますが、ここがさっき言ったようにEmployeeDAOで+1していないために戻り値のintは0のままなので,int count = dao.updateSectionByCode(name1);のcountには0が入っています。
7
7
 
8
- 30~39歳の従業員の名前が表示されないのはたしか("select name from
9
- m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければけなったような気がします。("select name from m_employee where age between 30 and 39");
8
+ 30~39歳の従業員が取得できないのは、EmployeeDAOクラスでArrayListをnewしていないからだと思います。selectNameByAgeメソッドでnameListにaddするのであればメソッドの中かクラスの中でList<String> nameList = new ArrayList<>();しておく必要があります。ただし、メソッドのループの中ではnewしないでください。
10
- また先ほどと同じようにList<String> nameList = dao.selectNameByAge(age1,age2);も引数が使われていないので引数はあってもなくてもいいです。このままでもエラーにはならないのでとりあえず変える必要はないかと思います。変える場合は実際のメソッドの引数も消さなければいけないので気を付けてください。
9
+ また,先ほどと同じようにList<String> nameList = dao.selectNameByAge(age1,age2);も引数が使われていないので引数はあってもなくてもいいです。このままでもエラーにはならないのでとりあえず変える必要はないかと思います。変える場合は実際のメソッドの引数も消さなければいけないので気を付けてください。
11
10
 
12
- EmployeeDAOクラスでnameListにaddするのであればList<String> nameList = new ArrayList<>();して必要があります
13
-
14
- mainメソッドでnameListをSystem.out.println(nameList+"");で表示させていますが、Listをそのまま表示すると型が表示されるだけのような気がします。Listの中身を表示したいのであれば拡張forなどで取り出してください。for(String sukinamoji : nameList){ System.out.println(sukinamoji); }
11
+ mainメソッドでnameListをSystem.out.println(nameList+"");で表示させていまが、Listをそのまま表示すと型が表示されるだけような気がします。Listの中身を表示したいのであれば拡張forなどで取り出してください。for(String sukinamoji : nameList){ System.out.println(sukinamoji); }。指定して取り出したのであればnameList.get(0);などで取り出してください

4

いろいろ

2023/06/30 12:54

投稿

guap
guap

スコア4

test CHANGED
@@ -8,3 +8,7 @@
8
8
  30~39歳の従業員の名前が表示されないのはたしか("select name from
9
9
  m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select name from m_employee where age between 30 and 39");
10
10
  また先ほどと同じようにList<String> nameList = dao.selectNameByAge(age1,age2);も引数が使われていないので引数はあってもなくてもいいです。このままでもエラーにはならないのでとりあえず変える必要はないかと思います。変える場合は実際のメソッドの引数も消さなければいけないので気を付けてください。
11
+
12
+ EmployeeDAOクラスでnameListにaddするのであればList<String> nameList = new ArrayList<>();しておく必要があります。
13
+
14
+ mainメソッドでnameListをSystem.out.println(nameList+"");で表示させていますが、Listをそのまま表示すると型が表示されるだけのような気がします。Listの中身を表示したいのであれば拡張forなどで取り出してください。for(String sukinamoji : nameList){ System.out.println(sukinamoji); }

3

2023/06/30 12:37

投稿

guap
guap

スコア4

test CHANGED
@@ -6,5 +6,5 @@
6
6
  System.out.println(count + "件更新されました。");でcountを表示していますが、ここがさっき言ったようにEmployeeDAOで+1していないために戻り値のintは0のままなので,int count = dao.updateSectionByCode(name1);のcountには0が入っています。
7
7
 
8
8
  30~39歳の従業員の名前が表示されないのはたしか("select name from
9
- m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select age from m_employee where age between 30 and 39");
9
+ m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select name from m_employee where age between 30 and 39");
10
10
  また先ほどと同じようにList<String> nameList = dao.selectNameByAge(age1,age2);も引数が使われていないので引数はあってもなくてもいいです。このままでもエラーにはならないのでとりあえず変える必要はないかと思います。変える場合は実際のメソッドの引数も消さなければいけないので気を付けてください。

2

select nameであってました

2023/06/30 12:36

投稿

guap
guap

スコア4

test CHANGED
@@ -6,5 +6,5 @@
6
6
  System.out.println(count + "件更新されました。");でcountを表示していますが、ここがさっき言ったようにEmployeeDAOで+1していないために戻り値のintは0のままなので,int count = dao.updateSectionByCode(name1);のcountには0が入っています。
7
7
 
8
8
  30~39歳の従業員の名前が表示されないのはたしか("select name from
9
- m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select age from m_employee where age between 30 and 39");あと、select nameではなく、select ageではないですか?
9
+ m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select age from m_employee where age between 30 and 39");
10
10
  また先ほどと同じようにList<String> nameList = dao.selectNameByAge(age1,age2);も引数が使われていないので引数はあってもなくてもいいです。このままでもエラーにはならないのでとりあえず変える必要はないかと思います。変える場合は実際のメソッドの引数も消さなければいけないので気を付けてください。

1

select文が間違えていたようでした。他にも色々あるかもしれませんが、私がみつけられたのはここまでです。

2023/06/30 10:08

投稿

guap
guap

スコア4

test CHANGED
@@ -6,5 +6,5 @@
6
6
  System.out.println(count + "件更新されました。");でcountを表示していますが、ここがさっき言ったようにEmployeeDAOで+1していないために戻り値のintは0のままなので,int count = dao.updateSectionByCode(name1);のcountには0が入っています。
7
7
 
8
8
  30~39歳の従業員の名前が表示されないのはたしか("select name from
9
- m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select name from m_employee where age between 30 and 39");
9
+ m_employee where age >= 30 and age <= 39");のように30~39と範囲指定する場合は、betweenで指定しなければいけなかったような気がします。("select age from m_employee where age between 30 and 39");あと、select nameではなく、select ageではないですか?
10
10
  また先ほどと同じようにList<String> nameList = dao.selectNameByAge(age1,age2);も引数が使われていないので引数はあってもなくてもいいです。このままでもエラーにはならないのでとりあえず変える必要はないかと思います。変える場合は実際のメソッドの引数も消さなければいけないので気を付けてください。