• ベストアンサー

配列のメソッド

配列のメソッドをセッターしてゲッターで取得したいのですがどのようにすればいいのかわかりません(--;)セッターをまず作成しましたがエラーになって出来ません・・・どなたかお願いします。 ↓以下セッターです。 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;   } }

  • Java
  • 回答数4
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

void は「何も返す値がない」という意味です。 値を返したいときには使えません。 普通に public String[] で良いと思いますが、なお、Ano.1さんのご質問に答えていらっしゃいません。 ANo.1さんは「命名規則がおかしい」とおっしゃっているのです。 ゲッターの命名ならば public String[] getXXXXX() セッターの命名ならば public void setXXXXXX(String[] x) このようになるはずです。 ようは、 セットは、返す値はないのでvoid(設定して終わりだから) ゲットは、値を返すので、対応した値を書く ご質問者さんは、セッターもゲッターも setXXXXX になっているので そもそも、命名と処理の中身がマッチせず理解できないということです。

その他の回答 (3)

回答No.4

voidを指定して何かが返ることはありませんよ。 set系のメソッドではそのクラスの変数に直接格納する場合などは void型でも値を操作することはできますが public class KanaHenkanData { static String s_kana; void setZenkaku(String s){ s_kana = "処理結果"; } } のように。これなら呼び出し側で KanaHenkanData.setZenkaku("なにか"); を呼び出すことで KanaHenkanData.s_kana;  は"処理結果"に設定するという処理がなりたちます。

回答No.2

セッターとかゲッターとかあまり一般的な用語ではないように思うのは わたしでしょうか?ロボかと思いました。 メソッド名から推測して、半角⇔文字列の変換を 行いたいということでしょうか? 質問の内容はともあれ、記載されているソースにはいくつか 気になるところがありますね。 >//半角を格納するメソッド >public void setHankaraZen(int a,String[] zeha) { 戻り値がvoidとしていされているのにString配列を返している。 intの引数は何に必要なのでしょうか? ついでに "オ}; 後ろの"がない。

dai5719
質問者

補足

すいません。「//半角を格納するメソッド」のところ間違えていました。正しいソースはこちらです。↓ //半角を格納するメソッド public void setHankaraZen(String[] zeha) { //(半角)ア、イ、ウ、エ、オ・・・・ String[] hankaku = {"ア","イ","ウ","エ","オ"}; return; } Java初心者なので、わからないのですが、String配列を返すにはどのような方法がありますか?voidは使えないのですか?

noname#33813
noname#33813
回答No.1

>配列のメソッドをセッターしてゲッターで取得したいのですがどのようにすればいいのかわかりません すいません。意味がわかりません。 ・配列のメソッドとは何ですか?→配列をパラメータとしたメソッドですか? ・セッターしてゲッターする→セットした値をゲットするですか? >エラーになって出来ません どのようなエラーがでるのかわからなければ 正しい回答を導き出すのは難しいでしょう。 ご質問のソースを見る限り、 セッターと呼びながらも、値をセットするメソッドではなく値を返却するメソッドになっていますので、セッターではないと思いますが。

関連するQ&A

  • Wordのアウトライン設定について

    下記のようなタイトルの、左の数字等が自動で出すようにするには、 どうすればいいですか? 第1 本州について 1 関東について   ア 東京について    (ア) 東京駅について    (イ) 新橋駅について  イ 神奈川について    (ア) 横浜駅について    (イ) 新横浜駅について 2 関西について :::::::::::::::: 上記の文で、自動的に 全角で、「第1・第2・第3・・・・・」 全角で、「1・2・3・4・・・・・」 全角で、「 ア・イ・ウ・エ・オ・・・・」 半角で、「(ア)(イ)・・・・」とでるようにしたいです ア・イ・ウ・・・・・は左から1文字空けて (ア)(イ)(ウ)・・・・・は左から2文字空けたいです 事前に登録する方法を教えて下さい 私が自分で設定しても、第1と出た後にエンターを押しても また、第1と出ます。何度、エンターを押しても第1としかでません 第1・第2・第3・・・・・・と全角で続けて自動で出るようにするにはどのようにすればいいですか 第1の後に、「見出し 1」としないといけないのですか?

  • テキストファイルの変換なのですが

    課題でドラックアンドドロップされたファイルの文書の全角カタカナを半角カタカナに変換するというソフトが思うとおりに動きません。 ご協力をお願いします。 ファイルの文字コードはS-jisです。 ドラックアンドドロップをしてテキストファイルを読み込むところまではうまくいきました。 テキストファイルを1バイトずつ読み込んで、全角カタカナの領域である「0x83」の判定を読み込むことはできるのですが、それ以降がうまくいきません。 テキストファイルの文字列に関するアドレスに関する知識不足だとは思うのですが、考えても分かりません。 以下に、コードを載せさせていただきますので解決だけでなく改良もあれば教えてください。 よろしくお願いします。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <mbstring.h> #define BYTE unsigned char char *getStrTailPoint(char *); char *getDotPoint(char *,char *); char* changeCode(int); void StringCat2(char *, char *); void main(int argc,char** argv ) { //tail…パス+ファイル名のENDポイントアドレス //dot…拡張子のポイントアドレス char *tail ; char *dot; //bfp…BaseFilePointAddress //mfp…MakedFilePointAddress FILE *bfp,*mfp; //makedFileName…作られるファイルの名前 char makedFileName[1000]; static int i; //ファイルからの文字を格納する一時格納する変数 char *r,tmp[3]; int p; BYTE q; if(argv[1]!=NULL){ // argv[1]…ドラックアンドドロップされたファイルとパスが格納 //ファイルを開く if(NULL ==(bfp=fopen(argv[1],"r"))) { printf("指定されたファイルを開けません"); getchar(); exit(1); } tail = getStrTailPoint(argv[1]); dot = getDotPoint(argv[1],tail); //makeFileNameに"."までの元の名前を格納 for(i = 0;&argv[1][i]<=dot;i++){ if(&argv[1][i]<dot){ makedFileName[i]=argv[1][i]; }else{ makedFileName[i]='\0'; } } //makeFileNameに"__"と拡張子を挿入 strcat(makedFileName,"__"); strcat(makedFileName,dot); //新規ファイルの作成 if(NULL ==(mfp=fopen(makedFileName,"w"))){ printf("新規ファイルを作れません"); getchar(); exit(1); } //既存ファイルから新規ファイルにテキストをコピー //新規ファイルの全角文字を半角文字へ while((p = fgetc(bfp)) != EOF) { q=(BYTE)p; if(0x83==q){ /*r=changeCode(p); fputs(r,mfp); break;*/ fputc('2',mfp); continue; } fputc(p,mfp); } //ファイルを閉じる fclose(bfp); fclose(mfp); } return ; } /* *getStrTailPoint   *文字列のENDポイントアドレスを調べる関数 */ char *getStrTailPoint(char *string){ char *p; int i ; int len = strlen(string); for(i=0;i<=len+1;i++){ if(*string=='\0'){ p=string; return p; } string++; } return string; } /* *getDotPoint *ファイルの拡張子の名前が始まるポイントアドレスを検出する関数 */ char *getDotPoint(char *string,char *tail){ char *p; int i; int len = strlen(string); for(i=0;i<len;i++){ if(*tail=='.'){ p=tail; return p; } tail--; } return tail; } char* changeCode(int ch){ char p[3]; char *zenkaku ={"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ\0"}; char *hankaku ={"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ\0"}; char *hankaku2 ={"カキクケコサシスセソタチツテト"}; char *hankaku3 ={"ハヒフヘホ"}; char *dakutenn ={"゛゜"}; do{ if(*zenkaku<='ョ'||ch==*zenkaku){ p[0]=*hankaku; p[1]='\0'; return p; break; }else if(ch==*zenkaku){ if(*zenkaku<='ド'){

  • リットル・デシリットル・ミリリットルの計算方法教えて下さい

    ・かさの多い順に左から記号を書きます。  正しいのはどれでしょう。 ア16dl イ1300ml ウ1l7dl エ900ml  (1)ア→ウ→イ→エ  (2)ウ→ア→イ→エ  (3)ウ→イ→ア→エ  (4)エ→イ→ア→ウ ○1l=10dl 1l=1000ml というのを教科書で習ったのですがすべて同じ単位 にそろえる事ができないのですが,どうやって 教えたらいいのでしょう…? 親の私がなやんでしまって^^; すいません!教えてください。

  • 国語 文法 助詞 

    http://okwave.jp/qa/q9237816.html この質問をした者です ここでは、自分の考えを書きながら皆さんの考えを聞こうかなと思います (1)イは終助詞で、ウは並立ですよね  では、アとエは何なのでしょうか (2)イは強調でエは(だけを)に書き換えられるやつですよね  では、アとウは何なのでしょうか (3)エが添加ですよね (4)問題は類推ですか?  ならば、アが類推なので、それが答えですよね  では、イとウとエは何でしょうか。 (5)アの「その価値に気づかない」は誤りで「散歩していた」が正解です  アは動作の平行、ウは確定の逆接、エは動作の平行  では、イと問題文は何なのでしょうか (6-1)問題文が類推、エも類推   では、アとイとウは何なのでしょうか (6-2)「だけ」に置き換えるとアが変えられて    イは数量?ウは動作の終了?    エは何でしょうか (7)問題文が強調、イが強調、ウは仮定の逆接   アとエは何でしょうか (8)問題が添加なので、答えはア   エが類推   イとウは何なのでしょうか (9)問題文が動作の平行なので、答えはア   イは確定の逆接   ウとエは何でしょうか (10)問題文が確定の逆接、アが添加?エは動詞+「の」で体言と同じ働きになる「に」は?    イとウは何でしょうか (11-1)問題が場所なので、答えはウ、エは材料    アとイはなんですか? (11-2)問題が確定の逆接なので、答えはウ    アとイとエは何でしょうか (11-3)問題が場所なので答えはウ、エは確定の逆接    アとイはなんですか? (12)アは接続助詞、イは 形容動詞、    ウとエとオはなんでしょうか 回答をいただいたのですが、よく分かりませんでした 自分の言ってる事が正しいかどうか、意味、用法は何かを答えていただけると 嬉しいです ご回答お願いします。  

  • 小5の算数です

    問題 0より大きい4つの数、ア・イ・ウ・エが有ります。 4つの数の大きさが次のような関係のとき ア・イ・ウ・エを 左から小さい順に書きましょう  ア=イ×1.2  ウ=イ×0.9  エ=ア÷0.8 と、言う問題です。 甥っ子の為に頑張ってみたのですが自信が無くて。。。 宜しくお願いしますm(__)m

  • Ruby言語にて、全角カナ⇔半角カナ変換がうまくいかずで困っております

    Ruby言語にて、全角カナ⇔半角カナ変換がうまくいかずで困っております。 以下のようにプログラミングをしてます。 結果が、思った通りではないのですが、何が原因でしょうか。 ※★→←★部分で囲んだ部分は半角文字です(ブラウザ上、半角文字が全角に変換されているようなので、  適宜そのような表記を入れました。 ●半角→全角変換 sss = "★→アイウエオ←★".tr('★→ア-ン←★', 'ア-ン') p sss ⇒★→アウオキケ←★ ●全角→半角 sss = "アイウエオ".tr('ア-ン', '★→ア-ン←★') p sss ⇒ア★→イ←★イ★→ウ←★ウ どうか原因を教えてください。

    • ベストアンサー
    • Ruby
  • s///eg変換で

    # ↓OKWEBでは半角カナ表示できないけど、半角カナのつもり @kptk = ( 'ヴ', 'ー', 'ッ', 'ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ア', 'イ', 'ウ', 'エ', 'オ', ・・・ ); # ↓こちらは全部全角カナ @kptv = ( 'ヴ', 'ー', 'ッ', 'ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ア', 'イ', 'ウ', 'エ', 'オ', ・・・ ); for(my $n = 0; $n < @kptk; $n++){ $data =~ s/$kptk[$n]/$kptv[$n]/eg; } などとして、半角カナを全角に直したいのですが、どうも半角の小さい'ァ'だけがまともに変換されません。 その付近の文字やそれ以降すべての文字が文字化けします。 インターネットエクスプローラ5から呼び出しています。 サーバーはソラリス。 文字コードはEUCです。

  • 日本語(かなの間違い)

    次の(1)~(4)の文には、それぞれかなのまちがいが一つずつある。まちがっている部分を記号で答え、正しい書き方に改めなさい という(過去問)のがあってわからないので教えてください! (1)ア まちのとうりで  イ ぐうぜんあった  ウ しれあいに  エ こんにちは  オ あいさつした。 (2)ア かぜをひいて  イ やむおえず  ウ がっこうの  エ ぎょうじを  オ けっせきする。 (3)ア しんしょうひんは  イ おきゃくさまの  ウ ごようぼうに  エ もとずいて  オ かいはつされました。 (4)ア ほんだなには  イ むづかしそうな  ウ ほんが  エ かずおおく  オ ならんでいる 問題は上記です お願いします!

  • 教えてくださいっ!!

    教えてくださいっ!! Q 次の熟語と音訓の組み合わせがおなじ熟語をしたから一つ選び、記号で答えなさい。 (1) 本物     ア 強敵 イ 家事 ウ 気軽 エ 雨戸 (2) 手本  ア 合間 イ 場所 ウ 悲鳴 エ 解答 (3) 読点  ア 前進 イ 王様 ウ 身分 エ 青葉 (4) 花屋  ア 遠足 イ 荷物 ウ 野山 エ 見方 おねがいしますううううううう

  • Ruby1.9で全角文字を半角文字にうまく変換できません。

    Ruby1.9で全角文字を半角文字にうまく変換できません。 英数字までは以下のロジックでうまく出来たのですが、カナが正しく変換されません。 何か良い知恵をどうかご教示のほどお願いいたします。 ※★→←★の間の文字は半角カナです(ブラウザ上全角カナとなってしまうため、便宜上補足しました)。 moji = "イあ1Aa" moji.tr('a-zA-Z0-9ア-ン', 'a-zA-Z0-9★→ア-ン←★') 結果:★→ウ←★あ1Aa 何故か半角のイではなく半角のウとなってしまう。    ※アの場合のみ正しく半角のアに変換される。

    • ベストアンサー
    • Ruby

専門家に質問してみよう