Swift 程序读取并打印二维数组
与其他编程语言一样,Swift 也支持二维数组。二维数组是指以表格形式存储相同类型数据的数组的数组。或者,我们可以说,二维数组是以行和列表示同类数据的数组。
语法
var twoDArray:[[Int]] = [[2, 3],[3, 4]]
为了从用户数据中读取二维数组,Swift 提供了一个名为 readLine() 的内置函数。readLine() 函数从输入中读取一串字符。如果调用此函数时已到达 EOF,则返回 nil。
func readLine() 或 func readLine(strippingNewline: true)
此处的 strippingNewline 参数为布尔类型。如果 strippingNewline 参数设置为 true,则表示从结果中删除换行符及其组合。否则,将保留这些字符。strippingNewline 参数的默认值为 true。
要打印二维数组,我们可以使用嵌套的 for-in 循环。嵌套的 for-in 循环会遍历给定二维数组的行和列中的每个元素。
for x in 0..<rows {
for y in 0..<cols {
print(newArray[x][y], terminator: " ")
}
print("")
}
这里外部 for-in 循环代表二维数组的行,内部 for 循环代表二维数组的列。下标"newArray[x][y]"用于访问数组元素。
算法
步骤 1 - 从用户那里读取二维数组的总行数和列数。
步骤 2 - 使用默认值创建并初始化二维数组。
步骤 3 - 现在从用户那里读取数组元素。
步骤 4 - 输入所有数组元素后,在输出屏幕上显示结果二维数组。
示例
在下面的 Swift 示例中,我们将首先使用 readLine() 函数从用户那里读取行数和列数。然后,我们创建并初始化一个二维数组,默认值为 0。现在,我们根据用户输入的位置读取二维数组中的每个元素,(0, 1) 元素为 2,(0, 2) 元素为 4,以此类推。这里 0 代表第 0 行,1 代表第 1 列。输入所有数组元素后,显示最终的二维数组。
import Foundation
import Glibc
// 输入行和列的大小
print("输入行的大小")
let rows = Int(readLine()!)!
print("输入列的大小")
let cols = Int(readLine()!)!
// 使用默认值初始化二维数组
var newArray = [[Int]](repeating: [Int](repeating: 0, count: cols), count: rows)
// 输入数组元素
for x in 0..<rows {
for y in 0..<cols {
print("Enter element (\(x),\(y)): ")
if let input = readLine(), let ele = Int(input) {
newArray[x][y] = ele
} else {
print("Input is not valid. Please enter an integer value.")
}
}
}
// 显示结果数组
print("\nFinal \(rows)x\(cols) matrix is:")
for x in 0..<rows {
for y in 0..<cols {
print(newArray[x][y], terminator: " ")
}
print("")
}
输入
Enter the size of row 3 Enter the size of column 3 Enter element (0,0): 3 Enter element (0,1): 2 Enter element (0,2): 4 Enter element (1,0): 2 Enter element (1,1): 6 Enter element (1,2): 7 Enter element (2,0): 4 Enter element (2,1): 3 Enter element (2,2): 7
输出
Final 3x3 matrix is: 3 2 4 2 6 7 4 3 7
结论
以上就是我们读取和打印二维数组的方法。使用上述方法,您可以创建 2x2、3x4、4x3 等类型的矩阵。此外,在使用 readLine() 函数时,您必须使用初始化函数(例如,对于整数数据类型使用 Int(),对于双精度数据类型使用 Double())将结果转换为所需的数据类型,因为 readLine() 函数始终返回字符串类型的结果。