2017-03-01 67 views
-3

我嘗試創建矩陣函數。我想從參數中獲取行數和列數,並像這樣顯示矩陣:使用字符串創建矩陣 - Swift

function stars(rows: Int, columns: Int) -> String { 
    //I need for loops to create a function body? 
} 

stars(rows: 5, column: 3) 
*** 
*** 
*** 
*** 
*** 

我將不勝感激您的幫助!

+3

是您的大約一個問題[基質](https://en.wikipedia.org/wiki/Matrix_(數學))或約字符串描述的矩形星星的形狀? –

+1

你不會忍受在網上問你的作業問題。 – Alexander

+0

我知道,但有時我需要一些提示來解決問題。感謝您的關注。 – archer

回答

-1

嘗試此代碼:

function stars(rows: Int, columns: Int) -> String { 
    var str = "" 
    for i in 0..<rows{ 
     for j in 0..<columns{ 
      str.append("*") 
     } 
     str.append("\n") 
    } 
    // print(str) 
    return str 
} 
+0

是的!非常感謝你:)我非常接近解決方案與我自己的代碼:) – archer

0
for i in 0..<rows{ 
    for j in 0..<coloumns{ 
    string.append("*") 
    } 
    string.append("\n") 
} 
-1

在操場上試試吧。
String(repeating: "*", count: columns)創建一個重複某個子串的字符串,例如,String(repeating: "abc", count: 3)返回abcabcabc
repeatElement + joined也是如此,只是它在子串之間放置了分隔符串(在本例中爲\n)。

func stars(rows: Int, columns: Int) -> String { 
    let row = String(repeating: "*", count: columns) 
    return repeatElement(row, count: rows).joined(separator: "\n") 
} 
+0

太棒了!它的工作,但這是我在Swift(和編程)中的第一步,這很難理解我:)感謝您的幫助,我會盡力在文檔中找到關於此的信息。 – archer

+0

在操場上試試。 'String(重複:「*」,count:columns)'創建一個重複某個子串的字符串,例如'String(重複:「abc」,count:3)'返回'「abcabcabc」'。 'repeatElement' +'joined'除了在子串之間放置分隔符字符串(在本例中爲'「\ n」\')之外,其他功能也是一樣的。 –

+0

好吧..現在它很容易看:)謝謝解釋 – archer