• 締切済み

Javaの文字列配列について質問です

父は1月5日生まれです。 母は4月12日生まれです。 私は8月7日生まれです。 というような表示をさせたいのですが、出来ません。 したがソースなのですが何方か教えて頂けないでしょうか class Birth{ String name; int human; int day; Tower (String h, int m, int d){ human = h; mon = m; day = d; } void showBirth (){ System.out.println(human+"は"+mon+"月"+day+"生まれです。"); } } public class Hiniti{ public static void main(String[] args) { String [] name = {"父", "母", "私"}; int [] tuki = {1, 4, 8}; int [] niti = {5, 12, 7}; for (int i; i<name.length; i++){ Birth [] b = new Birth[name.length]; for(int i = 0; i < b; int i++){ b[i] = new Birth(name[i], tuki[i], niti[i]); b[i].showBirth(); } } } }

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

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

関連するQ&A

  • Javaの文字列配列について質問です

    父は1月5日生まれです。 母は4月12日生まれです。 私は8月7日生まれです。 というような表示をさせたいのですが、出来ません。 したがソースなのですが何方か教えて頂けないでしょうか class Birth{ String name; int human; int day; Tower (String h, int m, int d){ human = h; mon = m; day = d; } void showBirth (){ System.out.println(human+"は"+mon+"月"+day+"生まれです。"); } } public class Hiniti{ public static void main(String[] args) { String [] name = {"父", "母", "私"}; int [] tuki = {1, 4, 8}; int [] niti = {5, 12, 7}; for (int i; i<name.length; i++){ Birth [] b = new Birth[name.length]; for(int i = 0; i < b; int i++){ b[i] = new Birth(name[i], tuki[i], niti[i]); b[i].showBirth(); } } } }

    • ベストアンサー
    • Java
  • Javaの文字列配列について質問です

    あは1行目の1つめです。 かは2行目の1つめです。 さは3行目の1つめです。 と表示させたいのですが、 Exception in thread "main" java.lang.NullPointerException at Nihongo.main(Nihongo.java:22) と出てきて出来ません。 どこが悪いのでしょうか? 22行目は「s[i].easyNihongo();」です。 class Hiragana { String boin; int num; int kaz; Hiragana(String b, int n, int k){ boin = b; num = n; kaz = k; } void easyNihongo(){ System.out.println(boin+"は"+num+"行目の"+kaz+"つ目です。"); } } class Nihongo{ public static void main(String [] args){ String aiueo[] = {"あ", "か", "さ"}; Hiragana [] s = new Hiragana[3]; for(int i=0; i<s.length; i++){ s[i] = new Hiragana(aiueo[i], 1, i++); s[i].easyNihongo(); } } }

    • ベストアンサー
    • Java
  • 文字列について

    textファイルをいくつかに分割して保存しようと思い、以下のプログラムを作りましたが、うまくいきません。 予定では "0000.txt", "0001.txt", ....と文字列を生成するはずです。 #include <stdio.h> #include <string.h> #define LENGTH 4 //番号の桁数 void filename(int n) {    char name[LENGTH +4 +1];    char text[5] = ".txt";    int i;    for(i = 0; i <= LENGTH; i++)       name[i] = '0';    i = LENGTH;    //自然数を文字列に変換    do{       name[i] = (char)(n%10 + 48);       i--;       n /= 10;    }while(n != 0 && i >= 0);    strcat(name, text);    printf("filename:%s", name); } int main(void) {    int i;    for(i = 0; i < 5; i++){       filename(i);       printf("\n");    }    return 0; } 実行結果は filename:00000@.txt filename:00001.txt filename:00002.txt filename:00003.txt filename:00004.txt このように、文字化けしています。 何が原因なのでしょうか。 よろしくお願いします。

  • javaのlengthに対して質問です

    javaのlengthに対して質問です public class Gauss { public static void main(String[] args){ int[] ia = new int[101]; for (int i = 0 ; i<ia.length;i++); } } 今の場合 ia.lengthはどれくらいの長さですか? ia だから2?

    • ベストアンサー
    • Java
  • Javaのスレッドに関して質問です

    Assistantクラスを使い待機状態と再開を確認できるプログラムの作成 loafとrestartメソッドを設ける workメソッドが呼ばれる度loafを呼び出す Managerクラスを定義 checkメソッドを設け、Assistantをcheckし続ける loaf状態ならrestartさせる (Managerクラスはデーモンスレッド) ということなんですが、いまいちうまくいきません さぼっても復帰してくれません public class Assistant implements Runnable { private String name; private Chore c; public Assistant(String name, Chore c) { this.name = name; this.c = c; } public void run() { work(); } public void work() { while (true) { synchronized (c) { if (c.doEnd()) break; System.out.println(name + " : " + c.digest()); loaf(); } } } public synchronized void loaf() { try { c.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } public synchronized void restart() { c.notify(); } } public class Chore { private String name; private int step; private int id; public Chore(String name) { this.name = name; this.step = this.name.length(); this.id = 0; } public synchronized String digest() { String message = "" + id + name.charAt(id); try { Thread.sleep(500); } catch (InterruptedException ie) { } id++; return message; } public synchronized boolean doEnd() { return id >= step; } } public class Manager extends Thread { private String name; private Assistant a; public Manager(String name) { this.name = name; } public void run() { check(); } public void check() { a.restart(); } } public class Test { public static void main(String[] args) { Chore[] ch = { new Chore("掃除"), new Chore("プリント印刷"), new Chore("出欠データ入力") }; Assistant[] a = { new Assistant("あ", ch[0]), new Assistant("\tい", ch[1]), new Assistant("\t\tう", ch[2] }; Thread[] t = new Thread[a.length]; for (int i = 0; i < t.length; i++) { t[i] = new Thread(a[i]); } for (int i = 0; i < t.length; i++) { t[i].start(); } Manager m = new Manager("監査"); m.setDaemon(true); m.start(); for (int i = 0; i < t.length; i++) { try { t[i].join(); } catch( InterruptedException ie ) { } } }

    • ベストアンサー
    • Java
  • JAVA 配列

    JAVAの配列の問題で複数の人間の名前と住所を出力するクラスをつくり表示するというのがあるのですが、わかりません。教えてください。 多分以下のような感じだと思うのですが・・・。 class Chap7_2{ String[] friends,address; Chap7_2(String[] f,String[] ad){ friends=f; address=ad; } void showName(){ System.out.print("My name is"+friends+". Address is"+address+"."); } public static void main(String[]args){ String[] name={"Sayaka Kikumoto","Akiko Hayakawa","Chika Kondo"}; String[] ken={"Mie","Aichi","Ehime"}; Chap7_2 a=new Chap7_2(name[i],ken[i]); for(string i=0;i<a.length;i++); a.showName(); } } }

    • ベストアンサー
    • Java
  • 万年カレンダー

    万年カレンダーの日にちが、一日ずれて表示されますのでその原因を教えてください。 void main() { int nen,tuki,niti; int ff,i,n; int carender[6][7]; niti=0; for(i=0;i<6;i++)for(n=0;n<7;n++) carender[i][n]=0; printf("西暦(4桁)→"); scanf("%d",&nen); printf("month:"); scanf("%d",&tuki); ff=youbi_chk(nen,tuki,1); for(i=ff;i<7;i++) {carender[0][i]=niti;++niti;} for(n=1;n<6;n++){ for(i=0;i<7;i++){ if(niti<=niti_chk(tuki,nen)) {carender[n][i]=niti;++niti;}} } printf(" SUN MON TUE WED THU FRI SAT\n"); for(n=0;n<6;n++){ for(i=0;i<7;i++) if(carender[n][i]==0)printf(" ");else printf("%4d",carender[n][i]); printf("\n");} } int youbi_chk(int y,int m,int d) { int youbi; if(m<3) {y--; m+=10;} else {m-=2;} youbi=(y+(y/4)-(y/100)+(y/400)+(13*m-1)/5+d)%7; return youbi; } int uru_chk(int y) { if(y%400==0) return 1; if(y%100==0) return 0; if(y%4==0) return 1; return 0; } int niti_chk(int m,int y) { int hi[12]={31,28,31,30,31,30,31,31,30,31,30,31}; hi[1]+=uru_chk(y); return hi[m-1]; } プロトタイプ宣言は、省いてます。

  • javaというか文字列について少し質問です><

    javaというか文字列について少し質問です>< javaというか文字列について少し質問です>< お願いします。 シーザー暗号で文字列をずらすためのクラスのメソッドをつくったのですが・・・ String decrypt(String str,int key) { StringBuffer sb = new StringBuffer(); // もしくはStringBuilder for(int i=0;i<str.length();i++){ char c=str.charAt(i); c=(char)((int)c-key); sb.append( c ); } こんな感じなのですがアルファベットの小文字26文字のみとしたいので暗号化や復号化の際に越えてしまう場合はアルファベット内でループさせたいのですがいまいちやり方が浮かびません><越えてしまう場合はzからひいたものを表現させれば良いかと思いやってみたのですが全然違う文字が出てきてしまいました。何かいい方法を教えてください。お願いします><

    • ベストアンサー
    • Java
  • Javaで配列を定義する方法

    こんにちは、片岡といいます。 Java言語で配列を定義する場合、以下の二つの書式に違いはありますか。 違いがあるとすれば、どのような違いですか。 また、違いがないのならば、どちらの記述がよいのですか。 ご存知の方はいらっしゃいませんか。 (1) public class Main1 { public static void main(String[] args) { String str[] = new String[] { new String("itiban"), new String("niban"), new String("sanban"), }; for (int i = 0; i < str.length; i++ ) { System.out.println(str[i]); } } } (2) public class Main2 { public static void main(String[] args) { String str[] = { new String("itiban"), new String("niban"), new String("sanban"), }; for (int i = 0; i < str.length; i++ ) { System.out.println(str[i]); } } } なお、私の環境は以下の通りです。 OS: Microsoft Windows XP Professional SP2 java: java version "1.4.2_13" 検索エンジンで"配列 オブジェクト java"を検索しましたが、 解決に役立つ情報は見つかりませんでした。

    • ベストアンサー
    • Java
  • 配列内の文字列を読み込む方法

    C++言語において質問です。あまり詳しくないので、変な質問でしたらすみません。 配列の文字列内にスペースが有る場合とない場合で表示を分けるものを作りたいと 思っています。 以下のようなものを書いた所、動くけど『iがいらない』、『メモリリークしている』 という風に言われました。自分でも調べてみたのですが、2つの事を解決できません。 どのようにすればよいのか、お教え願えませんか。 又、この場合のメモリリークとはどういう意味なのでしょうか? #include <stdio.h> #include <string.h> #include <ctype.h> char* name_list[] = {"", "AAA A", "BBBB", 0}; void main(){ int i = 1; char *b=0; for(char** a = &name_list[1]; *a != 0; a++, i++){ for(char* p = *a; *p != '\0' && !isspace((unsigned char)*p); p++) ; if(*p != '\0'){ b = new char[strlen(name_list[i]) + 3]; sprintf(b, "space %s", name_list[i]); } else { b = new char[strlen(name_list[i]) + 1]; strcpy(b, name_list[i]); } fprintf(stderr, "%s\n", b); } return; }

専門家に質問してみよう