如何比较两个字符串以查看一个是否大于另一个
How can I compare two strings to see if one is greater than the other
我正在开发一款基本的纸牌游戏。我让用户洗两张牌,我想知道这些牌是否相等,或者一张牌大于另一张牌还是小于另一张牌。目前我只能判断它们是否相等。
//Randomize Dealer Card
func randomDealerNumber(){
let randomNumber = arc4random_uniform(8)
if randomNumber == 0 {
dealerNum.text = "10"
} else if randomNumber == 1 {
dealerNum.text = "1"
} else if randomNumber == 2 {
dealerNum.text = "2"
} else if randomNumber == 3 {
dealerNum.text = "3"
} else if randomNumber == 4 {
dealerNum.text = "4"
}else if randomNumber == 5 {
dealerNum.text = "5"
} else if randomNumber == 6 {
dealerNum.text = "6"
} else if randomNumber == 7 {
dealerNum.text = "7"
}
}
let playerCard = playerNum.text
let dealerCard = dealerNum.text
if playerCard == dealerCard {
print("These two strings are considered equal")
}
也许这里有一些疏忽,但如果我理解正确,那么你的解决方案就很简单了。另一个 if 语句:
if playerCard > dealerCard{
print("Player wins!")
}
PPShein 是正确的。如果你在谈论字符串,你应该使用 count
。
基本上您想要比较文本字段的整数值。所以你需要将它们转换为整数。 (例如“10”到 10)
你可以这样做
if(Int(playerCard) > Int(dealerCard)){......}
只需确保添加足够的安全检查以验证输入的值是否可以转换为整数。
您不应在 UIControl
中存储值。这些值应该在代表您的模型的变量中,然后只比较模型中的值。
我建议将您生成的随机值保留为 Int
,然后只比较它们。添加 属性 观察者 (didSet
) 将允许您在设置这些值时设置标签:
class ViewController: UIViewController {
@IBOutlet weak var dealerNum: UILabel!
@IBOutlet weak var playerNum: UILabel!
var dealerCard = 0 {
didSet {
dealerNum.text = String(dealerCard)
}
}
var playerCard = 0 {
didSet {
playerNum.text = String(playerCard)
}
}
func randomDealerNumber() {
var randomNumber = Int.random(in: 0...7)
if randomNumber == 0 {
randomNumber = 10
}
dealerCard = randomNumber
}
func compare() {
if playerCard == dealerCard {
print("same")
} else if playerCard < dealerCard {
print("less than")
} else {
print("greater than")
}
}
}
我正在开发一款基本的纸牌游戏。我让用户洗两张牌,我想知道这些牌是否相等,或者一张牌大于另一张牌还是小于另一张牌。目前我只能判断它们是否相等。
//Randomize Dealer Card
func randomDealerNumber(){
let randomNumber = arc4random_uniform(8)
if randomNumber == 0 {
dealerNum.text = "10"
} else if randomNumber == 1 {
dealerNum.text = "1"
} else if randomNumber == 2 {
dealerNum.text = "2"
} else if randomNumber == 3 {
dealerNum.text = "3"
} else if randomNumber == 4 {
dealerNum.text = "4"
}else if randomNumber == 5 {
dealerNum.text = "5"
} else if randomNumber == 6 {
dealerNum.text = "6"
} else if randomNumber == 7 {
dealerNum.text = "7"
}
}
let playerCard = playerNum.text
let dealerCard = dealerNum.text
if playerCard == dealerCard {
print("These two strings are considered equal")
}
也许这里有一些疏忽,但如果我理解正确,那么你的解决方案就很简单了。另一个 if 语句:
if playerCard > dealerCard{
print("Player wins!")
}
PPShein 是正确的。如果你在谈论字符串,你应该使用 count
。
基本上您想要比较文本字段的整数值。所以你需要将它们转换为整数。 (例如“10”到 10)
你可以这样做
if(Int(playerCard) > Int(dealerCard)){......}
只需确保添加足够的安全检查以验证输入的值是否可以转换为整数。
您不应在 UIControl
中存储值。这些值应该在代表您的模型的变量中,然后只比较模型中的值。
我建议将您生成的随机值保留为 Int
,然后只比较它们。添加 属性 观察者 (didSet
) 将允许您在设置这些值时设置标签:
class ViewController: UIViewController {
@IBOutlet weak var dealerNum: UILabel!
@IBOutlet weak var playerNum: UILabel!
var dealerCard = 0 {
didSet {
dealerNum.text = String(dealerCard)
}
}
var playerCard = 0 {
didSet {
playerNum.text = String(playerCard)
}
}
func randomDealerNumber() {
var randomNumber = Int.random(in: 0...7)
if randomNumber == 0 {
randomNumber = 10
}
dealerCard = randomNumber
}
func compare() {
if playerCard == dealerCard {
print("same")
} else if playerCard < dealerCard {
print("less than")
} else {
print("greater than")
}
}
}