teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

曖昧な記述を訂正。

2019/11/21 04:38

投稿

ironya
ironya

スコア456

answer CHANGED
@@ -1,6 +1,8 @@
1
1
  考え方として、 Eschool に `getZipcode()` メソッドを追加するのは gentaro さんのいう通りで、あとは、for 文などで eslist の要素を順に取り出して、 `getZipcode()` の結果と、`stdIn` から取得した zipcode1 の値を比較して一致するものを探せば良いと思います。
2
2
  ただ、`stdIn` から `nextInt()` だと `int` 型ですから、 `compareTo()`で比較するには `Integer` 型に変換したり、 `next()` で文字列で受け取って比較するなどする感じでしょうかね。
3
3
  けども、`String` にするなら `equals()` メソッドで等価であることは確認できるので、 Eschool 側も zipcode は文字列にしておいて、文字列で処理すれば良い気がしますね。。。
4
+ 大小比較でなく、等価が評価できれば良いのであれば、 Integer にしたとしても同じことです。
5
+ なぜ `compareTo` なのでしょうね?(学校の課題だったりしませんよね。。。)
4
6
 
5
7
  あと気になったのですけども、 実世界の郵便番号ってそれだけではユニークな住所にはなりません。
6
8
  同じ郵便番号でも丁目が違ったり、区画番号や建物番号が異なったり、集合住宅だと部屋が違ったりと、郵便番号と住所は、1対多 の関係です。そのため、そもそも郵便番号が一致するだけの条件だと、複数の住所があり得るので、一致した時点で把握できた住所で求めたい住所になるのかというと、そういうものでもありません。

1

記載途中で投稿してしまったので続きを記載。

2019/11/21 04:38

投稿

ironya
ironya

スコア456

answer CHANGED
@@ -1,1 +1,8 @@
1
- 考え方として、 Eschool に `getZipcode()` メソッドを追加するのは gentaro さんのいう通りで、あとは、for 文などで
1
+ 考え方として、 Eschool に `getZipcode()` メソッドを追加するのは gentaro さんのいう通りで、あとは、for 文などで eslist の要素を順に取り出して、 `getZipcode()` の結果と、`stdIn` から取得した zipcode1 の値を比較して一致するものを探せば良いと思います。
2
+ ただ、`stdIn` から `nextInt()` だと `int` 型ですから、 `compareTo()`で比較するには `Integer` 型に変換したり、 `next()` で文字列で受け取って比較するなどする感じでしょうかね。
3
+ けども、`String` にするなら `equals()` メソッドで等価であることは確認できるので、 Eschool 側も zipcode は文字列にしておいて、文字列で処理すれば良い気がしますね。。。
4
+
5
+ あと気になったのですけども、 実世界の郵便番号ってそれだけではユニークな住所にはなりません。
6
+ 同じ郵便番号でも丁目が違ったり、区画番号や建物番号が異なったり、集合住宅だと部屋が違ったりと、郵便番号と住所は、1対多 の関係です。そのため、そもそも郵便番号が一致するだけの条件だと、複数の住所があり得るので、一致した時点で把握できた住所で求めたい住所になるのかというと、そういうものでもありません。
7
+
8
+ もちろん、実世界の話ではなくて架空世界の住所と郵便番号の関係であれば、1対1 の関係もあり得ますので、この限りではありませんが。(学校の課題などだと、そういう仮定で良いことにするのはありそうな話です・・・が、課題なら自分で考えましょう!)