5

ユーザーが入力した 2 つの整数から最大数と最小数を見つけようとしています。まず、文字列を int に変換してから、それらを配列に入れて操作できるようにしました。変数を配列に代入することになると、私は動けなくなっていると思います。しかし、変数が割り当てられた配列の例を見ることができませんでした。これはおそらく私が間違っているところです。

    private void button1_Click(object sender, EventArgs e)
    {
       string txtbxnum1 = Int32.Parse(num1);
       string txtbxnum2 = Int32.Parse(num2);

       int[] numbers = new int[2] {0,1};
       int numbers [0] = num1;
       int numbers [1] = num2;

       int maximumNumber = Max.numbers();
       int minimumNumber = Min.numbers();
       MessageBox.Show (maximumNumber.Text);
    }

私はどんな助けや方向性も嬉しく思います。

4

6 に答える 6

6

2 つの数値しかない場合は、配列は必要ありSystem.MathませMath.MaxMath.Min

// Int32.Parse takes a string, and returns an int, not a string:
int n1 = Int32.Parse(num1);
int n2 = Int32.Parse(num2);
// Math.Min and Math.Max functions pick the min and max
int min = Math.Min(n1, n2);
int max = Math.Max(n1, n2);
// Show both numbers in a message box in one go using String.Format:
MessageBox.Show(string.Format("Min:{0} Max:{1}", min, max));
于 2012-10-24T21:34:56.500 に答える
2

少し混乱した構文。あなたのコードは言語的に有効なコードではありません。 C#

次のようなことをしなければなりません:

var numbers = new int[]{0,1,567,4,-5,0,67....};

最大/最小は単純に

var maximum = numbers.Max();
var minimum = numbers.Min();
于 2012-10-24T21:34:39.433 に答える
2

呼び出す必要がMath.Minあり、Math.Maxどちらも引数として 2 つの整数を受け入れます。

それが十分な詳細でない場合はお知らせください。

于 2012-10-24T21:34:44.467 に答える
0
int maximumNumber = Math.Max(numbers[0],numbers[1]);
int minimumNumber = Math.Min(numbers[0],numbers[1]);

MessageBox.Show(maximumNumber + " " is the largest and " + minimumNumber + " is the smallest");

つまり、そのような配列値に実際にアクセスするべきではありませんが、初心者には機能します。

于 2012-10-24T21:34:48.810 に答える
0

TextBoxes とのやり取りと奇妙な解析と文字列への設定をよく理解していませんが、num1 と num2 がユーザーが入力した整数であると仮定します

private void button1_Click(object sender, EventArgs e)
{
    int maximumNumber = Math.Max(num1, num2);
    int minimumNumber = Math.Min(num1, num2);

    MessageBox.Show (maximumNumber);
}
于 2012-10-24T21:36:17.403 に答える
0

あなたのコードにはいくつかの間違いがあります。

string txtbxnum1 = Int32.Parse(num1);

Int32.Parse文字列を受け取り、 を返しますint。ただし、に割り当てようとしていますstring。そのはず

int txtbxnum1 = Int32.Parse(num1);

次のように配列を割り当てます。

int[] numbers = new int[2] {0,1};

2 つの整数を保持できる新しい配列を作成し、それらに値0とを事前に入力するだけ1です。これはあなたがやりたいことではありません。私が知る限り、コード内の別の場所で使用しない限り、ここで配列を使用する必要さえありません。

クラスのメソッドを使用して、MaxとのMin値を見つけることができます。Math

int minimumValue = Math.Min(txtbxnum1,txtbxnum2);
int maximumValue = Math.Max(txtbxnum1,txtbxnum2);

MSDNで Math クラスの詳細を確認できます。

于 2012-10-24T21:37:54.043 に答える