使用do while - 无限循环

时间:2018-03-11 02:51:11

标签: powershell while-loop do-while

我完全失去了一些功课。赋值是使用while循环并提示用户输入5个数字。我当前的代码如下所示:

$x = 1
do 
{
    Write-Host 'Enter 5 numbers'
    $x++
} while ($x -eq 5) 

似乎问题就在这里($x -eq "5")。我希望PowerShell只是提示用户输入5个随机数,然后得到这些数字的总和。

2 个答案:

答案 0 :(得分:0)

家庭作业。 8 ^} 哦,好吧......这是一种方法。

然而,把你原来的帖子和你在评论中显示的内容。你的问题是,你没有捕捉到任何总结,也没有使用计数器来满足你的进入限制。

Clear-Host
# Initial variables

$ResponseCount = 0
$Total = 0

do {
    # Get a user response
    $response = Read-Host "Enter 5 numbers"

    # increment response counts
    $ResponseCount ++

    # capture and sum the entered numbers
    $Total += $response
} 
until ($ResponseCount -eq "5") 
"`nYou have completed the required 5 entries"
"The sum of the entered numbers is: $Total"


Enter 5 numbers: 10
Enter 5 numbers: 20
Enter 5 numbers: 30
Enter 5 numbers: 40
Enter 5 numbers: 50

You have completed the required 5 entries
The sum of the entered numbers is: 150

答案 1 :(得分:0)

你是正确的,问题是你的循环条件。目前,您正在告诉PowerShell运行循环,而$x正好是五。如果您希望循环正常工作,则必须更改条件。您可以查看about_Comparison_Operators的PowerShell帮助,以了解可用的运算符。

您需要做的另一件事是读取实际值并保存用户输入的任何内容以构建总和。有很多方法,另一个答案有一个解决方案。还要考虑使用更具表现力的变量名称,以便其他人更容易遵循您的代码(尽管这不是一个问题,这个简短的例子)。