【问题标题】:How to take input in an Array in Dart?如何在 Dart 中输入数组?
【发布时间】:2020-07-18 11:42:20
【问题描述】:

我需要让用户输入任意数量的空格/逗号分隔的整数并将它们添加到数组中,然后对它们进行冒泡排序。我只需要帮助在数组中输入。拜托,我正在失去脑细胞。

输入示例: 10、9、8、6、7、2、3、4、5、1

或: 10 9 8 6 7 2 3 4 5 1

在python中找到了一些参考代码,不知道有没有用:

//--------------------------------str_arr = raw_input().split(' ')

//--------------------------------arr = [int(num) for num in str_arr]

【问题讨论】:

  • 你能添加一些输入示例吗?

标签: dart dart-io


【解决方案1】:

您可以使用 RegExp 进行拆分:

import 'dart:io';

void main() {
  const input1 = '10, 9, 8, 6, 7, 2, 3, 4, 5, 1';
  const input2 = '10 9 8 6 7 2 3 4 5 1';
  const input3 = '10,9,8,6,7,2,3,4,5,1';

  final regexp = RegExp(r'(?: |, |,)');

  print(input1.split(regexp)); // [10, 9, 8, 6, 7, 2, 3, 4, 5, 1]
  print(input2.split(regexp)); // [10, 9, 8, 6, 7, 2, 3, 4, 5, 1]
  print(input3.split(regexp)); // [10, 9, 8, 6, 7, 2, 3, 4, 5, 1]

  print('Please enter line of numbers to sort:');
  final input = stdin.readLineSync();

  final listOfNumbers = input.split(regexp).map(int.parse).toList();

  print('Here is your list of numbers:');
  print(listOfNumbers);
}

【讨论】:

  • 他们询问如何从控制台获取输入
  • 阅读这部分问题:“我只需要帮助获取数组中的输入”。所以他确实已经有了输入,但需要帮助才能将其解析为列表。
  • 但是好的,我已经在代码中添加了接受用户输入的部分。
  • 抱歉造成误解,我应该澄清一下我需要来自控制台的输入,所以恕我直言,使用 readLineSync 听起来更简单。
猜你喜欢
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-28
  • 1970-01-01
  • 2013-05-09
  • 2021-12-28
  • 2020-07-06
相关资源
最近更新 更多