- ベストアンサー
配列のメソッド
配列のメソッドをセッターしてゲッターで取得したいのですがどのようにすればいいのかわかりません(--;)セッターをまず作成しましたがエラーになって出来ません・・・どなたかお願いします。 ↓以下セッターです。 public class KanaHenkanData { //全角を格納するメソッド public char[] setZenkaraHan(char[] haze) { //(全角)ア、イ、ウ、エ、オ・・・・ char[] zenkaku = {'ア','イ','ウ','エ','オ'}; //zenkakuを返す return zenkaku; } //半角を格納するメソッド public void setHankaraZen(int a,String[] zeha) { //(半角)ア、イ、ウ、エ、オ・・・・ String[] hankaku = {"ア","イ","ウ","エ","オ}; //hankakuを返す return hankaku; } }
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
void は「何も返す値がない」という意味です。 値を返したいときには使えません。 普通に public String[] で良いと思いますが、なお、Ano.1さんのご質問に答えていらっしゃいません。 ANo.1さんは「命名規則がおかしい」とおっしゃっているのです。 ゲッターの命名ならば public String[] getXXXXX() セッターの命名ならば public void setXXXXXX(String[] x) このようになるはずです。 ようは、 セットは、返す値はないのでvoid(設定して終わりだから) ゲットは、値を返すので、対応した値を書く ご質問者さんは、セッターもゲッターも setXXXXX になっているので そもそも、命名と処理の中身がマッチせず理解できないということです。
その他の回答 (3)
- SAKENOSAKA
- ベストアンサー率32% (78/240)
voidを指定して何かが返ることはありませんよ。 set系のメソッドではそのクラスの変数に直接格納する場合などは void型でも値を操作することはできますが public class KanaHenkanData { static String s_kana; void setZenkaku(String s){ s_kana = "処理結果"; } } のように。これなら呼び出し側で KanaHenkanData.setZenkaku("なにか"); を呼び出すことで KanaHenkanData.s_kana; は"処理結果"に設定するという処理がなりたちます。
- SAKENOSAKA
- ベストアンサー率32% (78/240)
セッターとかゲッターとかあまり一般的な用語ではないように思うのは わたしでしょうか?ロボかと思いました。 メソッド名から推測して、半角⇔文字列の変換を 行いたいということでしょうか? 質問の内容はともあれ、記載されているソースにはいくつか 気になるところがありますね。 >//半角を格納するメソッド >public void setHankaraZen(int a,String[] zeha) { 戻り値がvoidとしていされているのにString配列を返している。 intの引数は何に必要なのでしょうか? ついでに "オ}; 後ろの"がない。
>配列のメソッドをセッターしてゲッターで取得したいのですがどのようにすればいいのかわかりません すいません。意味がわかりません。 ・配列のメソッドとは何ですか?→配列をパラメータとしたメソッドですか? ・セッターしてゲッターする→セットした値をゲットするですか? >エラーになって出来ません どのようなエラーがでるのかわからなければ 正しい回答を導き出すのは難しいでしょう。 ご質問のソースを見る限り、 セッターと呼びながらも、値をセットするメソッドではなく値を返却するメソッドになっていますので、セッターではないと思いますが。
補足
すいません。「//半角を格納するメソッド」のところ間違えていました。正しいソースはこちらです。↓ //半角を格納するメソッド public void setHankaraZen(String[] zeha) { //(半角)ア、イ、ウ、エ、オ・・・・ String[] hankaku = {"ア","イ","ウ","エ","オ"}; return; } Java初心者なので、わからないのですが、String配列を返すにはどのような方法がありますか?voidは使えないのですか?