【问题标题】:Unable to Accept User Input In Dart [duplicate]无法在 Dart 中接受用户输入 [重复]
【发布时间】:2021-04-20 09:05:22
【问题描述】:

我是飞镖新手,我想创建一个简单的程序来接受用户的两个数字并将这两个数字相加。

但是,当我运行下面的代码时,我遇到了一个错误。

代码

import 'dart:io';
import 'dart:math';

void main() {
print("enter num1: ");
String num1 = stdin.readLineSync();
print("enter num2: ");
String num2 = stdin.readLineSync();
print(int.parse(num1) + int.parse(num2));

}

截图

Screenshot of the error

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    如果没有输入,stdin.readLineSync(); 可能会返回 null。

    另一方面,您的变量只需要 String 类型的值。

    通过在变量名的末尾添加 ? 以使其可以为空来解决此问题:

    String? num1 = stdin.readLineSync();
    

    在以后使用之前确保它不为空:

    if (num1 != null) {
       ...
    }
    

    【讨论】:

    • 成功了!顺便说一句,我在 youtube 上关注本教程,这是讲师代码。 i.stack.imgur.com/VQECh.png我的问题是,我尝试在编辑器中运行相同的代码并遇到错误。
    • 他使用较旧的 dart 版本,dart 版本 2.12 附带了 null 安全性:dart.dev/null-safety
    猜你喜欢
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多