在单个字段中接受整数作为输入,一次一个
本文关键字:一个 输入 一次 字段 单个 整数 | 更新日期: 2023-09-27 18:34:14
快速说明 - 我对 c# 很陌生,所以如果这很简单,我深表歉意。
我很难尝试在书中完成一个简单的 c# 任务。
我的任务 -创建一个接受整数作为输入的 Windows 应用程序,一次一个,在单个中田。按钮应导致在输入字段正下方显示该数字,但仅如果它大于当前显示的数字(或者它是处理的第一个数字(。只要已处理零 (0(,停止接受更多输入并显示(在输入字段上方(所有输入数字的总和。
这是我到目前为止所拥有的——
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Linq;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Click += new System.EventHandler(button1_Click);
listofNumbers = new List<int>();
}
List<int> listofNumbers;
private void button1_Click(object sender, EventArgs e)
{
//convert input to integer
int orginalInput = int.Parse(textBox1.Text);
//add numbers to list
listofNumbers.Add(orginalInput);
string txt = "";
foreach (int originalNumber in listofNumbers)
{
//find numbers greater than previously entered number
int higherNumber = listofNumbers.Find(item => item > originalNumber);
if (listofNumbers.Count == 1 || originalNumber < higherNumber)
{
txt += higherNumber + " ";
label1.Text = txt;
}
}
textBox1.Clear();
}
}
}
我还没有开始添加输入(一旦处理了零 (0(,就停止接受更多输入并显示(在输入字段上方(所有输入数字的总和。
我仍在努力弄清楚任务的第一部分。
我有的问题 ---显示的第一个数字是零,即使我键入了不同的数字。--如果我输入的数字比以前输入的数字少,它似乎会吐出随机数。
任何帮助或指点非常感谢!
if(!listofNumbers.Contains(0)){ // check for already zero entered or not
int input = int.Parse(textBox1.Text);
listofNumbers.Add(input);
if(input==0){ // if zero entered calculate the sum and set it as label text
int sum = listofNumbers.Sum();
label1.Text = sum.ToString();
}else // otherwise campare with last label value and entered number and set the label
{
int maxNo = int.Parse(label1.Text);
if(input>maxNo)
{
label1.Text = input.ToString();
}
}
}