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

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

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

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

Q&A

解決済

1回答

2234閲覧

練習問題の解答が分からない

wakaranchin

総合スコア15

C#

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

0グッド

1クリップ

投稿2020/11/16 06:30

編集2020/11/16 06:33

前提・実現したいこと

あるサイトの練習問題をしていたのですが躓いてしまいました。
こちらのサイトでは回答が載っていないので正確な回答が分かりません。
同じ結果を出力はできたのですが問題の意図とは違うと思うので回答を教えてはいただけませんでしょうか。

問題のソースコード

C#

1//Program.cs 2 3using System; 4using System.Collections.Generic; 5using System.Linq; 6using System.Text; 7using System.Threading.Tasks; 8 9namespace Problem7_2 10{ 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 TwoStrings s = new TwoStrings(); 16 s.String1 = "Hello"; 17 s.String2 = "World"; 18 Console.WriteLine("一つ目の文字列は" + s.String1); 19 Console.WriteLine("二つ目の文字列は" + s.String2); 20 Console.WriteLine("二つの文字列を合成したものは" + s.GetConnectedString()); 21 } 22 } 23}

C#

1//TwoStrings.cs 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Text; 6using System.Threading.Tasks; 7 8namespace Problem7_2 9{ 10 class TwoStrings 11 { 12 private string string1; 13 // 二つ目の文字列 14 private string string2; 15 // 一つ目の文字列を設定 16 public string String1 17 { 18 set { string1 = value; } 19 get { return string1; } 20 } 21 // 一つ目の文字列を設定 22 public string String2 23 { 24 set { string2 = value; } 25 get { return string2; } 26 } 27 } 28}

期待される実行結果

一つ目の文字列はHello 二つ目の文字列はWorld 二つの文字列を合成したものはHelloWorld

試したこと

自分の解答

C#

1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace Problem7_2 8{ 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 TwoStrings s = new TwoStrings(); 14 s.String1 = "Hello"; 15 s.String2 = "World"; 16 Console.WriteLine("一つ目の文字列は" + s.String1); 17 Console.WriteLine("二つ目の文字列は" + s.String2); 18 Console.Write("二つの文字列を合成したものは" ); 19 s.GetConnectedString(); 20 } 21 } 22}

C#

1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace Problem7_2 8{ 9 class TwoStrings 10 { 11 private string string1; 12 // 二つ目の文字列 13 private string string2; 14 // 一つ目の文字列を設定 15 public string String1 16 { 17 set { string1 = value; } 18 get { return string1; } 19 } 20 // 一つ目の文字列を設定 21 public string String2 22 { 23 set { string2 = value; } 24 get { return string2; } 25 } 26 public void GetConnectedString() { 27 Console.WriteLine(string1 + string2); 28 } 29 } 30}

補足情報(FW/ツールのバージョンなど)

こちらのサイトの問題になります。
https://csharp.sevendays-study.com/problem6.html#problem7

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

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

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

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

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

Zuishin

2020/11/16 06:36

わからない時は復習すればいいと思います。 テストや練習問題はあなたの実力をはかるもので、他人に教えてもらったのでは計測不能です。身長測定の際に爪先立ちをするようなものです。
y_waiwai

2020/11/16 06:36

あなたのコードではどういう結果になるんでしょうか
ozwk

2020/11/16 06:37

問題文にはっきりとは書いてませんが、 Problem7_2/Program.csは問題文のまま書き換えないのが題意だろうなってのはわかりますか?
wakaranchin

2020/11/16 06:47

>ozwk それは分かっています。なので「問題の意図とは合わないと思う」と質問に書かせていただきました。
Zuishin

2020/11/26 10:11

ほらね。成長しないから回答者の言ってることが全くわからず最新の質問を削除することになる。
wakaranchin

2020/11/26 10:16

>Zuishin わざわざ粘着説教有難うございます。 ほんとこういう人しかいないからあまりこのサイトは使いたくいない…
Zuishin

2020/11/26 10:21

まともな対応したら粘着されないんじゃないですかね。
Zuishin

2020/11/26 10:25

> ほんとこういう人しかいないからあまりこのサイトは使いたくいない… そう思ってるのはずっと伝わってますよ。ほんとこういう人には使ってほしくない。あなたの気に入らない人しかいないのが気に入らないならこっち見るなとしか。
wakaranchin

2020/11/26 10:27 編集

何か言い訳されるかと思ったら正直に粘着してるって言ってえらいですね~^^ かまってほしくて粘着してるかもしれないですけど、もう返信しないです。ごめんなさい。
Zuishin

2020/11/26 10:27

かまってほしいどころか、あなたいらないのでもう来なくていいです。
Zuishin

2020/11/26 10:28

変数もフィールドも知らない、メソッドもわからない、それでいてアプリ開発してますからコードくださいって。それで入門書勧めたら質問削除。
guest

回答1

0

ベストアンサー

問題の意図は「このクラスの二つの文字列を結合させるメソッドであるGetConnectedStringを追加」することにあります。
メソッド名に「Get」とありますから、GetConnectedStringを呼び出すことにより連結された文字列を取得することになります。

なので、GetConnectedString内でConsole.WriteLineを行うのは間違っています。
また、Mainを書き換えるのは間違っています。

投稿2020/11/16 06:40

YAmaGNZ

総合スコア10222

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

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

wakaranchin

2020/11/16 06:50

mainを書き換えるが間違っているのは分かっています。 GetConnectedString()はどのような処理が入ればいいか、ヒントでもいいのでいただきたいです。 Console.WriteLineを入れるとエラーになりますし、戻り値は設定していないし、このメソッド自体が文字列にならなければいけない?んですかね。。。?
YAmaGNZ

2020/11/16 06:58

「戻り値は設定していないし」とはどういうことですか? 要求されているGetConnectedStringの仕様は「このクラスの2つのプロパティに設定されている文字列を連結して返す」です。 それを貴方がvoidと引数を返さないように作っています。 この問題を解くためのものは説明されていますので、7日目だけでなく他の部分もしっかり読んで理解してください。
wakaranchin

2020/11/16 07:09

すみません。理解することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問