私は最近uniで私の実用的なテストを行った、私は50%を得た、私は自分のコードの間違いが何であるか分からないが、誰かがそれを把握することができれば嬉しいだろう。そう、この質問で私を助けてください、私は別の国に旅行してきたし、私の先生は今3日以来、私の電子メールを答えていない。C#私の間違いは何ですか?
質問:
コード有名な「Hello Worldのオブジェクト指向バージョン"プログラム。 には、グリーティング文字列をカプセル化するクラスが含まれ、次のものが含まれている必要があります。 - 挨拶 "Hello World"を持つデフォルトコンストラクタ - 挨拶を指定する文字列パラメータを持つコンストラクタ - メソッドSetGreeting()およびGetGreetingそれが構築され、そして現在の はそれに応じて挨拶表示するようにした後、オブジェクトの 挨拶を指定するために使用
私の答え:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.Write("Select question number (a,b or c) : ");
string qn = Console.ReadLine();
if (qn == "a" || qn == "A")
{
HelloWorld hw = new HelloWorld();
}
else if (qn == "b" || qn == "B")
{
HelloWorld hw2 = new HelloWorld("Hello World!");
}
else if (qn == "c" || qn == "C")
{
HelloWorld hw = new HelloWorld();
Console.Write("Enter Name: ");
string user = Console.ReadLine();
hw.SetGreeting(user);
hw.GetGreeting();
}
else
{
Console.WriteLine("Wrong question selected");
}
Console.ReadLine();
}
}
public class HelloWorld
{
public string name;
public HelloWorld()
{
Console.Write("From a default constructor: ");
Console.WriteLine("Hello World!");
}
public HelloWorld(string _greeting)
{
Console.Write("From a constructor with parameter: ");
Console.WriteLine(_greeting);
}
public void SetGreeting(string _name)
{
name = _name;
}
public void GetGreeting()
{
Console.WriteLine("Hello, " + name);
}
}
}
は、彼が外に「コードだった私の結果にコメントを残しましたクラスd efinition "と呼ばれる。誰かが私にこれで何が間違っているか教えてもらえますか?おかげで
教授はおそらく、自分のクラスに入るよう促すすべてのプロンプトを探しています。それは静的な空のメインメソッドです。 –
あなたの先生にはわからないので100%確信することはできませんが(はい、これらのことはかなり主観的です)、questinはあなたにメッセージをカプセル化するクラスを要求しました。メッセージを出力するクラスではありません私はそれを理解するので、あなたのクラスは文字列を保持するだけで(そして様々なコンストラクタを持っている)、メインコードでConsole.WriteLine(hw.GetGreeting())を実行する必要があります。また、SOはこれらのような質問のための場所ではありません。これは本当に速く閉じられるでしょう... – Gusman
誰かがJava getter/setter形式を使用していることに気付いたのですか? @ Gusmanは言ったように、ゲッターで 'string'を返すべきです。また、C#にはこのスタイルを使用します。https://msdn.microsoft.com/en-us/library/k69wcs43.aspx –