Swift程序 读取和打印二维数组
与其他编程语言一样,Swift也支持二维数组。二维数组是指存储具有相同数据类型的数组数组,以表格格式存储数据。或者我们可以说,2-D数组是表示行和列中的同类数据的数组。
语法
var twoDArray: [[Int]] = [[2, 3], [3, 4]]
要从用户处读取二维数组,Swift提供了名为readLine()的内置函数。readLine()函数从输入中读取一串字符。如果在调用此函数时已经到达了EOF,则它将返回nil。
func readLine()
或
func readLine(strippingNewline: true)
这里,strippingNewline参数是Boolean类型。如果strippingNewline参数的值设置为true,则表示从结果中删除换行符和字符组合。否则,它们会被保留。默认情况下,strippingNewline参数的值为true。
要打印2-D数组,我们可以使用嵌套的for-in循环。嵌套的for-in循环遍历给定2-D数组中的行和列中的每个元素。
for x in 0..<rows {
for y in 0..<cols {
print(newArray[x][y], terminator: " ")
}
print("")
}
这里,外部for-in循环表示2-D数组的行,内部循环表示列。并且使用下标‘newArray [x] [y]’来访问数组元素。
算法
- Step 1−从用户读取2-D数组将要具有的行和列的总数。
-
Step 2−使用默认值创建和初始化2-D数组。
-
Step 3−现在从用户那里读取数组元素。
-
Step 4−在输入所有数组元素后,在输出屏幕上显示结果2-D数组。
示例
在以下Swift示例中,我们首先使用readLine()函数从用户那里读取行和列的大小。然后,我们使用默认值0创建和初始化一个2-D数组。现在,根据它们的位置读取2-D数组的每个元素,例如(0,1)元素为2,(0,2)元素为4,等等。这里0表示第0行,1表示第1列。在输入所有数组元素后,显示最终2-D数组。
import Foundation
import Glibc
//输入行和列的大小
print("输入行的大小")
let rows = Int(readLine()!)!
print("输入列的大小")
let cols = Int(readLine()!)!
//使用默认值初始化2-D数组
var newArray = [[Int]](repeating: [Int](repeating: 0, count: cols), count: rows)
//输入数组元素
for x in 0..<rows {
for y in 0..<cols {
print("输入元素(\(x),\(y)):")
if let input = readLine(), let ele = Int(input) {
newArray[x][y] = ele
} else {
print("输入无效,请输入整数值。")
}
}
}
//显示结果数组
print("\n 最终\(rows)x\(cols)矩阵为:")
for x in 0..<rows {
for y in 0..<cols {
print(newArray[x][y], terminator: " ")
}
print("")
}
输入
输入行的大小
3
输入列的大小
3
输入元素(0,0):
3
输入元素(0,1):
2
输入元素(0,2):
4
输入元素(1,0):
2
输入元素(1,1):
6
输入元素(1,2):
7
输入元素(2,0):
4
输入元素(2,1):
3
输入元素(2,2):
7
输出
最终3x3矩阵为:
3 2 4
2 6 7
4 3 7
结论
这就是我们如何读取和打印二维数组。使用以上方法,您可以创建任何类型的矩阵,如2×2,3×4,4×3等。另外,在使用readLine()函数时,您必须使用initializers(例如,对于整数数据类型,使用Int(),对于double数据类型使用Double())将结果转换为所需的数据类型,因为readLine()函数始终以String类型返回结果。