我试图编写代码来更新我的数组并根据每日工资给出总薪水。我收到有关二元运算符的错误,所以我如何修复此行代码以便不会发生。
for day in stride(from: 1, to: 31, by: 1)
{
dailyPay[day] = [Int(pay)]
pay*=2
if(day==1)
{
totalPay[day] = Int(pay)
}
else
{
totalPay[day] = totalPay[day-1]+dailyPay[day]//The problem is Here
print("\(heade) \(day) \(head) \(dailyPay[day]) \(total) \(totalPay[day])")
}
答案 0 :(得分:3)
您没有显示变量的声明,但似乎totalPay
是Int
的数组,而dailyPay
是数组的二维数组Int
。因此,totalPay[day-1]
将是Int
,而dailyPay[day]
将是[Int]
,或Int
的数组。因此,您所获得的错误恰恰意味着它所说的内容;您无法使用+
添加Int
和数组。
从您的代码中可以看出dailyPay
可能是一个简单的旧整数数组,如totalPay
。因此,您可以通过以下方式更改声明来解决此问题:
var dailyPay: [[Int]]
为:
var dailyPay: [Int]
然后,将作业更改为:
dailyPay[day] = Int(pay)
事情应该有效。
旁注:你的for
循环不必要复杂。当你可以时,stride
不需要{<1}}。
for day in 1...31