【问题标题】:How do I count user input in Visual Basic?如何在 Visual Basic 中计算用户输入?
【发布时间】:2016-11-15 19:46:52
【问题描述】:

VB的代码:

For 'I think this where the counter would go if I knew how to write it
        If (intEmpCount < 10) Then
            If decTotalTax < decGrossPay Then
                decNetPay = decNetPay
                boxResults.Items.Add("EMPLOYEE ID: " & dblEmpID.ToString)
                boxResults.Items.Add("Gross Pay: $" & decGrossPay.ToString("N2"))
                boxResults.Items.Add("Net Pay: $" & decNetPay.ToString("N2"))
                boxResults.Items.Add("State Withholdings: $" & decStateTaxAmount.ToString("N2"))
                boxResults.Items.Add("Federal Withholdings: $" & decFederalTaxAmount.ToString("N2"))
                boxResults.Items.Add("FICA Withholdings: $" & decFICAAmount.ToString("N2"))
            Else
                MessageBox.Show("ERROR. THE AMOUNT OF WITHOLDINGS ($" & decTotalTax.ToString("N2") & ") EXCEEDS THE GROSS PAY.")
            End If
        Else
            MessageBox.Show("ERROR. YOU HAVE EXCEEDED THE ALLOWABLE NUMBER OF EMPLOYEES.")
        End if

要回答的问题:如何计算输入了多少个 EmployeeID?

对于这项任务,我假设教授希望我们将员工人数限制为 10 人,因此我正在尝试弄清楚如何做到这一点。此外,出于本次分配的目的,我们应该假设 EmployeeID 可以是长达六或七位数的任何数字,具体取决于公司的规模。

例如:1000 10001 100001 101000 等等……

【问题讨论】:

  • 将它们添加到Collection 或其他容器中。

标签: vb.net visual-studio count counter


【解决方案1】:

这是 Visual Basic 中 for 循环的一般语法:

For counter [ As datatype ] = start To end [ Step step ]  
    [ statements ]  
    [ Continue For ]  
    [ statements ]  
    [ Exit For ]  
    [ statements ]  
Next [ counter ]

所以你的循环可能看起来像

For number As Integer = 0 To 5
            (something here)
        Next
        (something here)

所以这意味着我们声明了一个整数,称为数字,最初是 = 到 0。它会一直运行,直到达到 5。您将编写类似的内容,但您必须弄清楚循环结束时的条件(例如,您的条件可能是 10)。我已经有一段时间没有用 VB 编码了,但我主要做 C#,这有点相似。您的代码可能如下所示:

    For k As Integer = 0 To 5
            If (intEmpCount < 10) Then
                If decTotalTax < decGrossPay Then
                    decNetPay = decNetPay
                    boxResults.Items.Add("EMPLOYEE ID: " & dblEmpID.ToString)
                    boxResults.Items.Add("Gross Pay: $" & decGrossPay.ToString("N2"))
                    boxResults.Items.Add("Net Pay: $" & decNetPay.ToString("N2"))
                    boxResults.Items.Add("State Withholdings: $" & decStateTaxAmount.ToString("N2"))
                    boxResults.Items.Add("Federal Withholdings: $" & decFederalTaxAmount.ToString("N2"))
                    boxResults.Items.Add("FICA Withholdings: $" & decFICAAmount.ToString("N2"))
                Else
                    MessageBox.Show("ERROR. THE AMOUNT OF WITHOLDINGS ($" & decTotalTax.ToString("N2") & ") EXCEEDS THE GROSS PAY.")
                End If
            Else
                MessageBox.Show("ERROR. YOU HAVE EXCEEDED THE ALLOWABLE NUMBER OF EMPLOYEES.")
            End if
Next

交替

如果你愿意,你可以在 for 循环之前创建一个整数变量,并在每次迭代时添加 +1。因此,您可以尝试以下方法:

Dim k As Integer = 0
    For 'I think this where the counter would go if I knew how to write it
            If (intEmpCount < 10) Then
                If decTotalTax < decGrossPay Then
                    decNetPay = decNetPay
                    boxResults.Items.Add("EMPLOYEE ID: " & dblEmpID.ToString)
                    boxResults.Items.Add("Gross Pay: $" & decGrossPay.ToString("N2"))
                    boxResults.Items.Add("Net Pay: $" & decNetPay.ToString("N2"))
                    boxResults.Items.Add("State Withholdings: $" & decStateTaxAmount.ToString("N2"))
                    boxResults.Items.Add("Federal Withholdings: $" & decFederalTaxAmount.ToString("N2"))
                    boxResults.Items.Add("FICA Withholdings: $" & decFICAAmount.ToString("N2"))
                    k += 1
                Else
                    MessageBox.Show("ERROR. THE AMOUNT OF WITHOLDINGS ($" & decTotalTax.ToString("N2") & ") EXCEEDS THE GROSS PAY.")
                End If
            Else
                MessageBox.Show("ERROR. YOU HAVE EXCEEDED THE ALLOWABLE NUMBER OF EMPLOYEES.")
            End if

然后整数 k 显然是你做任何事情的值。如果不是这样,那肯定会非常相似。

【讨论】:

  • 我想过这样写,但是如果 EmployeeID 不是 0 到 10 之间的单个整数怎么办?如果是六位或七位数字怎么办?我该如何解释?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
  • 1970-01-01
相关资源
最近更新 更多