【问题标题】:What is wrong with my switch case code on swift我在 swift 上的 switch case 代码有什么问题
【发布时间】:2020-03-30 13:38:54
【问题描述】:

如您所见,我是编码新手。

我正在尝试在开关盒上打印正确的工作日。 但我不能。 我的代码有什么问题?

var aNumber =  Int.random(in: 0...10)

func dayOfTheWeek(day: Int) {

    switch dayOfTheWeek {

    case ..<2:
        print ("Monday")

    case ..<3:
        print ("Tuesday")

    case ..<4:
        print ("Wednesday")

    case ..<5:
        print ("Thursday")

    case ..<6:
        print ("Friday")

    case ..<7:
        print ("Saturday")

    case ..<8:
        print ("Sunday")

    default:
        print("Error")

    }

    print(aNumber)

}

dayOfTheWeek(day: aNumber)

【问题讨论】:

  • 嗨@muratonurkaya,欢迎来到StackOverfly!如果您还可以粘贴收到的错误信息,那将非常有帮助。
  • 与您的问题无关,但完全没有必要切换。您可以简单地使用 Calendar StandaloneWeekdaySymbols 并返回一个随机元素。 let weekday = Calendar.current.standaloneWeekdaySymbols.randomElement()

标签: swift switch-statement case


【解决方案1】:

你需要打开参数day(而不是函数名),你不需要像..&lt;2这样的范围只匹配单个数字:

switch day {

case 2:
    print ("Monday")

case 3:
    print ("Tuesday")

// and so on...

【讨论】:

    【解决方案2】:

    dayOfTheWeek 是函数,而 day 是 Int。 因此,您必须通过 Integer 进行切换。

    试试switch day {...}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      相关资源
      最近更新 更多