Ich versuche, eine App zu erstellen, die die Benutzereingabe eine Nummer und die App wird bestimmen, ob es eine Primzahl ist oder nicht haben werden. Hier ist mein Code:Warum einige Werte nicht für meinen Code funktionieren?
var arr: [Int] = [2, 3, 4, 5, 6, 7, 8, 9]
let text = Int(textField.text!)!
for x in arr {
if text == 1 {
iLabel.text = "NOT PRIME!"
}
else if x == 2 || x == 3 || x == 5 || x == 7 {
iLabel.text = "IT'S PRIME!"
}
else if text % x == 0 {
iLabel.text = "NOT PRIME!"
break
}
else if text % x != 0 {
iLabel.text = "IT'S PRIME!"
break
}
}
Zum größten Teil funktioniert dies. Wenn ich jedoch Variable "text" auf etwa 82 setze, ist das Ergebnis "IT'S PRIME!" obwohl es durch 2 teilbar ist ... kann jemand den Fehler in meinem Code erklären?
Willkommen Überlauf Stack! Es klingt wie Sie lernen müssen, können, wie ein Debugger zu verwenden, durch den Code zu treten. Mit einem guten Debugger, können Sie ausführen r Programm Zeile für Zeile und sehen, wo es von dem, was Sie erwarten, abweicht. Dies ist ein essentielles Werkzeug, wenn Sie programmieren wollen. Weiterführende Literatur: [Wie kleine Programme debuggen] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/). –