swift for循环_Swift | 实战一个简单的素数计算器demo
Swift
實(shí)戰(zhàn)一個(gè)簡(jiǎn)單的素?cái)?shù)計(jì)算器demo
本期我們來介紹如何用storyboard來實(shí)現(xiàn)一個(gè)素?cái)?shù)計(jì)算器demo,storyboard可以明確地知道界面上的組件與代碼的關(guān)系,而且比起僅用代碼寫要方便不少。
No.1
制作一個(gè)簡(jiǎn)單的界面
制作一個(gè)簡(jiǎn)單的界面
我們首先要使用storyboard來繪制一個(gè)界面,可以使用Label、TextField與Button來完成一個(gè)簡(jiǎn)單界面,可以在的TextField中的placeholder里添加些字,這樣可以使用戶知道這里應(yīng)該填些什么,如上所示。
No.2
定義函數(shù)
定義函數(shù)
現(xiàn)在要定義一個(gè)判別用戶所輸入的數(shù)字是否是一個(gè)素?cái)?shù)的函數(shù),定以一個(gè)輸入一個(gè)整型數(shù)字,輸出一個(gè)字符串的isPrime函數(shù)。我們都知道,素?cái)?shù)是一個(gè)大于1的自然數(shù),除了1與其本身外,不能被其他自然數(shù)整除。知道了素?cái)?shù)的定義后我們可以開始寫一個(gè)isPrime的函數(shù)。
1. 首先先使用一個(gè)if來判別是否是大于1的自然數(shù),是的話則進(jìn)行下一步判斷,不是的話則返回該數(shù)不是素?cái)?shù)的字符串
2. 下一步要使用for循環(huán)讓其與每一個(gè)比其小的自然數(shù)求余,用if來判別如果余數(shù)是0則說明能被其他數(shù)整除,則返回該數(shù)不是素?cái)?shù)的字符串,如果不是則返回該數(shù)是素?cái)?shù)的字符串。
No.3
連接起來
連接起來
我們現(xiàn)在設(shè)計(jì)完了界面,也定義了函數(shù),現(xiàn)在將它們連起來。可以將界面上的三個(gè)組件TextField、Label、Button分別拖入代碼中,并分別起名為,numberInput、displayer、JudgerPrime。
1. 并添加一行var number:Int?
這個(gè)number是來接收用戶所輸入的東西的,那為什么要寫一個(gè)問號(hào)呢?這是因?yàn)槲覀儾淮_定用戶是否真的會(huì)輸入一個(gè)整型的數(shù)字,用戶可能只打了一個(gè)空格或者小數(shù)、字符串等,所以我們?cè)谶@里多加了一個(gè)“?”。
2.?然后我們要在Button處來執(zhí)行我的操作,我們先讓number獲得numberInput的值
3. 我們會(huì)發(fā)現(xiàn)這里報(bào)了錯(cuò),從中我們可以知道,TextField里的類型是字符串的可選類型,所以我們要先解包再轉(zhuǎn)為整形的數(shù)。
但是這仍然不夠,如果用戶輸入的是一個(gè)點(diǎn),或者一個(gè)空格,那么number就是空值,會(huì)導(dǎo)致我們定義的函數(shù)不可用,所以我們要在函數(shù)執(zhí)行前消除這個(gè)問題。
4. 我們使用guard number != nil來避免,用return來使其直接結(jié)束,不進(jìn)行后續(xù)操作。
5. 這樣,用戶輸入的不是整型的情況就被我們規(guī)避了,可以正常地調(diào)用剛剛寫好的函數(shù)了,使用displayer.text = isPrime(number: number)調(diào)用我們的函數(shù)。
6.此時(shí)我們還是會(huì)發(fā)現(xiàn)報(bào)錯(cuò),這是為什么呢?因?yàn)閚umber是個(gè)可選類型,之前規(guī)避了nil的情況,所以在這里的number一定不是空值,可以放心地用“!”解包。
7.最后,我們一個(gè)素?cái)?shù)計(jì)算器就這么實(shí)現(xiàn)啦
可以隨便試幾個(gè)數(shù):
怎么玩也玩不壞
No.4
做個(gè)簡(jiǎn)單的對(duì)比
這次我又用了純代碼的方式來實(shí)現(xiàn)這個(gè)素?cái)?shù)計(jì)算器的功能
是不是瞬間感覺storyboard簡(jiǎn)便多了
那么本期關(guān)于素?cái)?shù)計(jì)算器的實(shí)現(xiàn)就介紹到這里啦,我們下期再見~
撰稿:Carrot
圖文編輯:Carrot
總結(jié)
以上是生活随笔為你收集整理的swift for循环_Swift | 实战一个简单的素数计算器demo的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自学Java编程要做好哪些准备?
- 下一篇: JAVA程序员已成为最疯狂的加班行业,没