Swift程序 读取和打印二维数组

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类型返回结果。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 示例