C#の宿題の質問:2つの整数の入力を求め、実行する数学演算の入力を求め、結果を返すコンソールアプリケーションを作成しています。ハードコードされた2つのオペランドで動作させることができました。現在、ハードコードされた変数ではなく、ユーザー入力を使用して2つの別々のオブジェクトをインスタンス化しようとしています。私はそれを私が問題を抱えている最低限のコードに分解しました、そして私は問題が同じメソッドから2つのオブジェクトを作成する方法に関係していると思います...しかし私は何がわかりません。
これが私のメインクラスです...
public class MainModule
{
public static void Main(string[] args)
{
// get Operands
Console.WriteLine("You Will Be Entering Two Integers.\n");
//
MathUI myOperand1 = new MathUI();
int op1 = myOperand1.EnterInteger();
//
MathUI myOperand2 = new MathUI();
int op2 = myOperand2.EnterInteger();
Console.WriteLine("You chose {0} and {1}.", (int)op1, (int)op2);
Console.ReadLine();
}
}
...そして入力を受け入れるMathUIクラス。
public class MathUI
{
public int EnterInteger()
{
Console.Write("Enter an integer: ");
int enteredInteger = Console.Read();
return (enteredInteger);
}
}
プログラムを実行すると、整数のプロンプトが表示されます。たとえば、3を入力します。これが私の出力です。
You Will Be Entering Two Integers.
Enter an integer: 3
Enter an integer: You chose 51 and 13.
Math demo completed
Press <enter> to quit
最初の整数を入力した後でEnterキーを押すと、自動的に2番目の整数が取得されます。整数値を出力しようとすると、入力と一致しません。
何が起きてる?MathUI
インスタンス化する方法と2つのオペランドに何か問題がありますか?の1つのインスタンスをインスタンス化してからMathUI
、その1つのインスタンスで両方の変数を宣言するだけで済みますか?また、整数出力が入力と一致しない理由もわかりません。すべての変数はとしてキャストされるint
ので、私は最後までやり通す必要がありint
ますよね?私はこれらを整数としてキャストしようとし(int)op1
ました---何らかの内部形式で保持された場合op1
に備えて...しかし、そこで何が起こっているのかわかりません。
私は何が欠けていますか?