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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

4回答

379閲覧

C# VS2019 クラスの作成

SsEe_egg

総合スコア19

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/06/05 12:48

初歩的なところで申し訳ありませんが、ご教授して頂きたいです。

猫でもわかるC#でクラスの基礎、クラスとメソッドの詳細を一通り読みました。
そのクラスやメソッドについての理解度を確認するための練習問題です。
(構造体やインターフェース、継承などの知識は無くても解ける問題レベルです)

問題
以下のプログラムを実行させるためのクラスを作成せよ。入力される値は任意の数字とする。

using System; class Sample { static void Main(string[] args) { MyClass mc = new MyClass(); int num = int.Parse(Console.ReadLine()); int ret = mc.Length(num); if (ret == -1) Console.WriteLine("0~300の範囲で入力してください"); else Console.WriteLine("入力値は" + ret + "です"); } } class MyClass // MyClassをインスタンス化している { // クラス内の処理をどうするればよいか分かりません。 }

この問題を見て自分で考えたこと
・MyClassをnewしているのでMyClassクラスを作る
・mc.LengthとしているのでMyClassは要素を持っている
・クラス内にメソッドをつくる??(確信が持てない)

という風に考えました。

参考になるサイトや考えるヒントをいただきたいです。
宜しくお願い致します。

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

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

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

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

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

guest

回答4

0

ベストアンサー

ヒントということなんですが、VS2019ならこの状態でまずMyClassが赤くなりますよね。

csharp

1using System; 2 3class Sample 4{ 5 static void Main(string[] args) 6 { 7 MyClass mc = new MyClass(); 8 int num = int.Parse(Console.ReadLine()); 9 int ret = mc.Length(num); 10 if (ret == -1) 11 Console.WriteLine("0~300の範囲で入力してください"); 12 else 13 Console.WriteLine("入力値は" + ret + "です"); 14 15 } 16}

で、マウスをあわせると「考えられる修正の内容」がでて、選択するとクラスができます。
(質問のコードににていますがコンストラクタが作られるはず)
その状態で、今度はLengthが赤くなって、同じく修正の内容を選択すると、メソッドが生えます。
あとはthrow new NotImplementedException();のところにロジックをあててやればできます。

どうなるかは実際に試してください

投稿2019/06/05 13:50

papinianus

総合スコア12705

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

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

SsEe_egg

2019/06/06 12:21

返信遅くなってしまい申し訳ございません。 ご回答ありがとうございました。 まだまだVSの扱いが分かっていないことを痛感しました…。 大変勉強になりました。 今回はこちらをベストアンサーにさせて頂きます。
papinianus

2019/06/06 22:02

私もあまり分かってないので(多機能すぎる)ので、色々触って慣れていきましょう
guest

0

・MyClassをnewしているのでMyClassクラスを作る


というか、「クラスを作成せよ」の趣旨そのものです。

・mc.LengthとしているのでMyClassは要素を持っている

要素とは属性(フィールド・プロパティ)のことを想定されてますか?
であれば☓

・クラス内にメソッドをつくる??(確信が持てない)


int ret = mc.Length(num);
これはメソッドの呼び出しです。

投稿2019/06/05 12:56

gentaro

総合スコア8949

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

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

SsEe_egg

2019/06/06 12:19

返信遅くなってしまい申し訳ございません。 ご回答ありがとうございました。 1つ1つの項目に丁寧答えてくださって分かりやすかったです。 ありがとうございました。
guest

0

参考になるサイトや考えるヒントをいただきたいです。

そのテキストに書いてある情報で練習問題が解けるはずです。

投稿2019/06/05 12:52

Zuishin

総合スコア28656

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

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

SsEe_egg

2019/06/06 12:14

返事遅くなってしまい申し訳ございません。 ご回答ありがとうございました。 皆様の御指導のおかげで解決しまいした。 まだまだ勉強しっかりしていきたいと思います。
guest

0

クラス内にメソッドをつくる??(確信が持てない)

そうです、その前の、

mc.Lengthとしている

を考えてみてください。

投稿2019/06/05 12:52

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

SsEe_egg

2019/06/06 12:17

返事遅くなってしまい申し訳ございません。 ご回答ありがとうございました。解決しました。 皆様のご指摘が的確でいつも大変助かります。 今度も勉強していくので、よろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問