質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

2回答

577閲覧

本の情報を出力するプログラム nullしか返ってこない。

syou12

総合スコア6

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/07/31 02:14

javaで本のタイトルなどの情報を読み込み、返し出力するプログラムを作りたのですが、クラスkakuninnを実行すると、nullしか返ってきません。どうしたらよいのでしょうか。

実行結果
null
null
null
null
null
null,null,null,null,null
打ち消し線

java

1public class Book { 2 3 private String title; 4 private String author; 5 private String publisher; 6 private String isbn; 7 private String year; 8 9 public String getTitle() { 10 return title; 11 } 12 13 public String getAuthor(){ 14 return author; 15 } 16 17 public String getPublisher() { 18 return publisher; 19 } 20 21 public String getIsbn() { 22 return isbn; 23 } 24 25 public String getYear() { 26 return year; 27 } 28 29 public void setTitle(String title) { 30 this.title = title; 31 } 32 33 public void setAuthor(String author) { 34 this.author = author; 35 } 36 37 public void setPublisher(String publisher) { 38 this.publisher = publisher; 39 } 40 41 public void setIsbn(String isbn) { 42 this.isbn = isbn; 43 } 44 45 public void setYear(String year) { 46 this.year = year; 47 } 48 49 50 51 public static Book prace(String source){ 52 String[] values = source.split(","); 53 Book bk = new Book(); 54 bk.setTitle(values[0]); 55 bk.setAuthor(values[1]); 56 bk.setPublisher(values[2]); 57 bk.setIsbn(values[3]); 58 bk.setYear(values[4]); 59 return bk; 60 } 61 62 public String csvString(){ 63 String csv = (title + "," + author + "," + publisher + "," + isbn + "," + year); 64 return csv; 65 } 66}

java

1public class kakuninn { 2 public static void main(String[] args){ 3 Book bk = new Book(); 4 String su = ("書名,著者,出版社,ISBN,1999"); 5 6 Book.prace(su); 7 System.out.println(bk.getTitle()); 8 System.out.println(bk.getAuthor()); 9 System.out.println(bk.getPublisher()); 10 System.out.println(bk.getIsbn()); 11 System.out.println(bk.getYear()); 12 System.out.println(bk.csvString()); 13 } 14 15}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Book.praceメソッドの戻り値がBookなのでmainメソッドの下記行をbkに戻り値を保持するよう修正する必要があります。

Book.prace(su);

bk = Book.prace(su);

投稿2019/07/31 02:17

編集2019/07/31 02:19
BluOxy

総合スコア2663

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

mainメソッド内のbkと、Book.prace内のbkは全く違うオブジェクトを指しています。
praceがBookインスタンスを返すようになっているのですから、それを受け取って下さい。

そもそもpraceが不要なようにも感じます。コンストラクタで充分では。

投稿2019/07/31 02:20

LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2019/07/31 05:23

@低評価を付けた方へ もちろん評価自体は自由にして頂いて構わないのですが、私には何が低評価の要因になっているのか分かりません。ご指摘のほどよろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問