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

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

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

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

Q&A

解決済

1回答

1986閲覧

クラスに条件を追加して、実行するプログラムを作成する(インスタンス、メゾットで名前作成、名前表示)

java_java

総合スコア12

Java

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

0グッド

0クリップ

投稿2018/03/18 12:54

前提・実現したいこと

1、下記のDogクラス(該当のソースコードに記載)に次の条件を追加しそれを実行するプログラムを作成する。

・Dogクラスのインスタンスを作成する。
・setNameメゾットで名前を設定する。
・showProfileメゾットで名前を表示する。

2、この後に次の内容を追加し、それらを表示するプログラムを作成する。

・年齢を保持するint型メンバー変数
・年齢を設定するメンバー・メゾット、setAge
・showProfileメゾットで名前、年齢を表示するようにする

発生している問題・エラーメッセージ

エラーは出てないのですが、sysoutが実行できません。

該当のソースコード

public class Abc {
class Dog {
private String name;

public void setName(String inputName) { this.name = inputName; } public void showProfile() { System.out.println("名前は、" + name + "です。"); } }

試したこと

public class Exercise
{
public void main( String[] args )
{
Dog MyDog = new Dog();

MyDog.SetName( "ぽち" ); MyDog.ShowProfile(); } }

}

を付け足すようなのですが、実行の構成というものが出て
通常のようにコンソール表記までたどり着けません。

●色々試しましたが、一旦下記のようになっています。

package java;

public class Abc{
public class Dog
{
private String Name;

public void SetName( String nm ) { Name = nm; } public void ShowProfile() { System.out.println( "名前は、" + Name + "です。" ); } } public class Exercise { public void main( String[] args ) { Dog MyDog = new Dog(); MyDog.SetName( "ぽち" ); MyDog.ShowProfile(); } }

}

補足情報

sysoutの位置が違うのか、付け足すものが違うのかが謎です。
エラーが出てないのでお手上げ状態です。。。。

聞くことが多いのですが、分かるところだけでも教えて頂けたら嬉しいです。
よろしくお願い致します。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/03/18 13:13

基礎を書籍で覚えたほうがいい
java_java

2018/03/18 14:00

1日1.5時間しか勉強できず、2週間目でこの問題出されたんですよね。。。理解できないので書籍からやることにしました。ありがとうございます!!
退会済みユーザー

退会済みユーザー

2018/03/18 14:15

外出中で回答(BA)のコメントに書いてあるハローワールドは確実にプログラミングを実践する1時間目で覚えて変数は5時間目以内に覚えると思う。。
java_java

2018/03/18 14:19

うち研修なくて、わからなかったら聞けorググれスタイルなのでその辺も曖昧です。。。昨日やっと、まともに変数やりました汗
java_java

2018/03/18 14:21

とりあえず、独学でも完全な言い訳なので、もっと自分で調べていきます!!
退会済みユーザー

退会済みユーザー

2018/03/18 14:25 編集

きけとかいいな( 会社の研修時代は放置プレイスタイル・・ :ないにも等しい)
java_java

2018/03/18 14:30

そのような環境でも出来るようになるんですね!自分もっと頑張ります汗
guest

回答1

0

ベストアンサー

まずパッケージ名を変更してください。『java』だと既存のものと被るのでアウトです。
Dog.javaとExercise.javaを作り、それぞれ次のように記述してください。

Dog.java

Java

1package 適切なパッケージ名; 2 3public class Dog 4{ 5 private String Name; 6 7 public void SetName( String nm ) 8 { 9 Name = nm; 10 } 11 12 public void ShowProfile() 13 { 14 System.out.println( "名前は、" + Name + "です。" ); 15 } 16}

Exercise.java

Java

1package 適切なパッケージ名; 2 3public class Exercise 4{ 5 public void main( String[] args ) 6 { 7 Dog MyDog = new Dog(); 8 9 MyDog.SetName( "ぽち" ); 10 MyDog.ShowProfile(); 11 } 12}

そしてExercise.javaを実行すれば想定通りの結果が出るはずです。


クラスの中にあるクラスを内部クラスというのですが、その働きは存外複雑です。
『なぜ上手くいかないか?』より『どうしたら上手くいくか?』を覚える方が先決かと。

その他気になる点

  • **命名規則。**Javaのメソッド名/変数名はcamelCaseにするのが一般的です。

SetNameではなくsetNameNameではなくnameの方が良いでしょうね。

  • メゾットじゃなくてメソッドかと。

コードの書き方について

teratailには、上記のようにコードを見やすく表示する機能があります。
質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。

投稿2018/03/18 13:18

編集2018/03/18 13:44
LouiS0616

総合スコア35658

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

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

退会済みユーザー

退会済みユーザー

2018/03/18 13:36

ハローワールドもできてない人よ (起動メソッド)
退会済みユーザー

退会済みユーザー

2018/03/18 13:39

あとクラスメソッドと見分けやすいように変数名は小文字始まりとかも
LouiS0616

2018/03/18 13:39

クラスをなんとなく内部に定義してハマっているだけかな、と。 パッケージ名は謎ですが。
LouiS0616

2018/03/18 13:39

ああ、変数もそうですね。漏らしていました。
java_java

2018/03/18 14:05

LouiS0616さん また答えてくれてありがとうございます!! 知識ないのに問題出されて、全然追いつかず悔しい思いの日々です涙 LouiS0616さん目標にして頑張ります!! たくさん指摘も頂き、本当にすみません!! ありがとうございます。
LouiS0616

2018/03/18 14:28 編集

目標にされるほど立派な人間ではないです。。。 まあ、問題を解決するための教材は何かしら与えられていると思うので、じっくり勉強してみてください。『何がわからないのかわかる』ところまでいけば飛躍的に解決能力はアップしますし、質問もより的確でピンポイントになるかと思います。(良く考えたら『的確でピンポイント』って頭悪すぎる発言をしてしまった... 頭に頭痛がする)
java_java

2018/03/18 14:26

教材はないので、自分でスッキリわかるJava入門買いました。本は別になくていんじゃね?? みたいに言われたのですが、もう無理なので本読んで勉強していきます。 出来るのが楽しみになってきました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問