Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

javaでジェネレーターを作成する方法

Javaの道やこちらの掲示板はよく参考にさせて頂いているのですが、
初めて質問させて頂きます。

現在、Androidアプリの作成方法を学んでいるのですが、
学習用に成分分析ジェネレーターの作成を行いました。
少し前に流行った脳内メーカーのような感じです。

【要件(?)】
・名前を入力すると、入力された内容に応じて適当な成分(%)を表示する
・同じ言葉が入力された場合は同じ成分を表示
・全ての成分を合計すると100%になる
・成分の項目は20項目で、表示時に他の項目と被らない
(ex:「りんご30%、ごりら30%、りんご40%」のような表記にならない)
・表示項目の数は、1〜4項目。

自分なりに考えて実装は出来、アプリとして動くものにはなったのですが、
何分経験が浅いため、プログラムに対してあまり自信がありません。

そこで、皆様に質問させてください。
上記のアプリを実装するにあたり、難しいと考えられるポイントはどこでしょうか。
私にとってはどこもかしこも難しかったため、意見を頂けると幸いです。
また、ハッシュ表を作成せずhashCodeを取得して実装したのですが、
その実装自体に問題はないでしょうか?
普通こういう使い方はしないと思うので…。

宜しくお願いします。

3

回答

7468

閲覧

3件の回答

評価

0

Android 興味はあるけど、作ったことないんです…。なので、自分が一番難しいと思う部分は Android というところかな。Java/Swing とは作法が違うようだし、Web を検索してもまだ情報量が多くないしね。

そういった点では、Android でアプリケーションを作ったというだけでも、一定の技術力、情報収集能力、調査能力があるように思えます。何が難しいのかご自分で判断できるレベルにあるのでは?

> ハッシュ表を作成せずhashCodeを取得して実装したのですが、
> その実装自体に問題はないでしょうか?

名前の入っている String の hashCode ですよね。とても、適した使い方だと思います。String の hashCode は、異なる文字列ならなるべく異なる値を返すように(ばらつくように)設計されています。Android は知らないけど、J2SE なら javadoc に hashCode の計算式も載っています。

hashCode の 32bit じゃ足りないとか、ハッシュの衝突率をもっと下げたいとかいうことであれば、MD5 を使ってもいいと思うけど、このようなアプリなら String.hashCode というのは良い選択だと思います。

評価

0

ロジック的に一番面倒なのは、項目を選んで%を割り振るとこじゃないのかな。
それ以外はとくに。

評価

0

回答ありがとうございました。

>>@様
Androidアプリは1,2週間前に見様見真似で作り始めたのですが、
思っていたより敷居が高くなかったという印象です。
簡単なものであれば現在ググって出てくる情報でも十分に実装出来るので、(始めたばかりで何ですが)興味をお持ちなら是非挑戦してみてください^^
パソコンの画面以外で自作アプリが動くのって何だか快感ですよね。
> このようなアプリなら String.hashCode というのは良い選択だと思います。
MD5でも出来る、というアドバイスは別の方からも頂いたのですが、暗号化のような話ではないのでString の hashCodeでも十分なんですね。
アドバイスありがとうございました。

>>$様
> ロジック的に一番面倒なのは、項目を選んで%を割り振るとこじゃないのかな。
確かに一番時間をかけてしまったのは項目を選ぶ所でした。
それこそ要件の(ex)のような状態からしばらく抜け出せなかったので…。
%はある程度決めてかかってしまったので、そこは苦労しなかった分若干面白みに欠ける所です。
「最初にジェネレーター作った人すごい!」と思いながら実装してました。
要件だけで、すんなり難しいポイントを指摘出来るレベルまで頑張りますm(_ _)m

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。