如何从飞镖中的用户输入中读取整数输入

How to read an integer input from the user input in dart

我实际上不知道如何从输入控制台获取整数输入。然后经过一些研究我尝试了这个。

我的代码:

import 'dart:io';

void main() {
  stdout.write("Enter a number: ");
  int num1 = int.parse(stdin.readLineSync());
  print(num1);
}
 ERROR: The argument type 'String?' can't be assigned to the parameter type 'String' because 'String?' is nullable and 'String' isn't.

试试这个

import 'dart:io';

void main()
{
    // Asking for favourite number
    print("Enter your favourite number:");

    // Scanning number
    int n = int.parse(stdin.readLineSync());

    // Printing that number
    print("Your favourite number is $n");
}

如果这不起作用,我想你应该试试这个答案

readLineSync()方法returns一个String?? 符号表示该变量可能为空。

另一方面,int.parse() 方法需要 String,没有 ? 符号。这意味着如果 readLine 方法的结果为空,它不知道如何处理。

解决这个问题的最简单方法是给出一个默认值,以防结果为空:

int num1 = int.parse(stdin.readLineSync() ?? '0');

如果左侧为空,则 ?? 运算符使表达式向右侧求值。所以给它一个默认值,它就不必为可空类型而烦恼。

您还可以使用其他运算符。您可以在 Dart documentation about it.

中阅读更多相关信息