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

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

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

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

Q&A

解決済

1回答

1544閲覧

セッター・ゲッターについてです。

0516bz

総合スコア13

Java

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

0グッド

0クリップ

投稿2019/03/24 00:47

編集2019/03/24 01:27

1、Humanクラスにセッター・ゲッター、メソッドを作成。
2、Mainクラスのmainメソッドから値をセット後、ゲッターを使用し値を取り出し表示。
下記のように表示
年齢は35歳
身長は178センチ
体重は79キロ

<書いたコード>
public class Human {

public int age; public int height; public int weight;

public void setAge(int age) { this.age = age;

System.out.println("年齢は"+age+"歳です");
}
public void setHeight(int height) {
this.height = height;
System.out.println("身長は"+height+"センチです");
}
public void setWeight(int weight) {
this.weight = weight;
System.out.println("体重は"+weight+"キロです");

} public int getAge() { return age; } public int getHeight() { return height; } public int getWeight() { return weight; }

}

public class Main {

public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ ManBean manBean = new ManBean(27, 180 ,17); manBean.setAge(35); manBean.setHeight(178); manBean.setWeight(79);

}

セッターで返すことはできるのですが、ゲッターで返すことができません。
どう変えたらいいでしょうか?
また、上記のコードよりも簡単な書き方がありましたら教えて頂きたいです。
以上よろしくお願い致します。

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

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

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

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

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

m.ts10806

2019/03/24 00:51

コードはマークダウンのcode機能を利用してご提示ください。 「うまくいきません」では誰にも何も伝わりません。現状のコードがどの段階のものなのか何が問題なのか、質問本文にきちんと記載してください。
退会済みユーザー

退会済みユーザー

2019/03/24 01:39

本当にこのとおり書いてたら、そもそもコンパイルの時点で失敗すると思います。
shinami

2019/03/24 01:44

>セッターで返すことはできるのですが、ゲッターで返すことができません。 セッターで代入することはできましたが、それをゲッターで返すことができません。 という事の打ち間違えなのでしょうか? それともセッターの中にprintlnの表示をしていますが返すという意味はこの事を指していますでしょうか?
0516bz

2019/03/24 02:07

@shinami さん セッターで代入することはできましたが、それをゲッターで返すことができません。 という事の打ち間違えなのでしょうか? 上記であってます。最近Javaを勉強し始め、セッターは値をセットするものでゲッターはセッターでセットしたものを返す(コンソールに表示する)と解釈しています。そこで今回の問題で躓いてしまい質問致しました。セッター・ゲッターの理解が違っているのか、コードが間違っているのかお教えいただけると幸いです。 お願い致します。
y_waiwai

2019/03/24 02:34

そもそもこのコードではコンパイルが通らないと思います。 打ち間違いだとは思いますが、あなたが実際に実行されているコードを、コピペで(打ち直しせずに)提示してください。 また、その際には、質問を編集して、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
shinami

2019/03/24 03:25

大体あってると思いますが、ゲッターはmain()などから必ずしも代入したから取り出せるというよりは、 代入してあるものを取り出せるという物です。 また、編集履歴を見てみましたが、 System.out.println("身長は"+manBean.getHeight()); ではできなかったのでしょうか? やり方としてはこれ以上の何物でもないと思いますよ。
m.ts10806

2019/03/24 12:59

(2回目)コードはマークダウンのcode機能を利用してご提示ください。 これ、結構大事です。コードが正しく提示されていないのと同じなので正しく再現確認できません。
guest

回答1

0

ベストアンサー

まずは、何度もご指摘がある様にコードはバッククォートを三つ{シフトを押しながら@マークのキー}使ってその間に書いてください。
ManBean(27, 180 ,17)コンストラクタがあると思いますが上記ソースでは省略せず書いてください。
また、ご提示されたソースでは

public class Human { public int age; public int height; public int weight; }

となっており、Humanクラスはここまでとなっています。}は1つ多いと思います。

編集履歴を見るともうできていると思いますがこういう事ではないですか?

Main

java

1public class MainTest { 2 3 public static void main(String[] args) { 4 //ManBean manBean = new ManBean(27, 180 ,17); //これでも良い。 5 ManBean manBean = new ManBean(); 6 7 manBean.setAge(35); 8 manBean.setHeight(178); 9 manBean.setWeight(79); 10 System.out.println("ここから以下ゲッターによるアウトプットです。"); 11 System.out.println("年齢は" + manBean.getAge()); 12 System.out.println("身長は"+manBean.getHeight()); 13 System.out.println("体重は"+manBean.getWeight()); 14 } 15 16}

ManBean

java

1public class ManBean { 2 private int age; 3 private int height; 4 private int weight; 5 6 //コンストラクタ 7 public ManBean() { 8 } 9 //引数付きのコンストラクタ 10 public ManBean(int cage, int cheight, int cweight) { 11 this.age = cage; 12 this.age = cheight; 13 this.weight = cweight; 14 } 15 16 public void setAge(int age) { 17 this.age = age; 18 System.out.println("年齢は"+age+"歳です"); 19 } 20 public void setHeight(int height) { 21 this.height = height; 22 System.out.println("身長は"+height+"センチです"); 23 } 24 public void setWeight(int weight) { 25 this.weight = weight; 26 System.out.println("体重は"+weight+"キロです"); 27 } 28 29 public int getAge() { 30 return this.age; 31 } 32 33 public int getHeight() { 34 return this.height; 35 36 } 37 38 public int getWeight() { 39 return this.weight; 40 } 41}

投稿2019/03/24 04:51

shinami

総合スコア334

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問