Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 计算颤振中的两个随机数_Random_Dart_Flutter_Numbers_Calculation - Fatal编程技术网

Random 计算颤振中的两个随机数

Random 计算颤振中的两个随机数,random,dart,flutter,numbers,calculation,Random,Dart,Flutter,Numbers,Calculation,我试图生成两个不同的随机数并将它们相加,但弗利特似乎不喜欢我的数学。我一直收到这样一条消息:没有为Random类定义“+” import 'package:flutter/material.dart'; import 'dart:math'; void main() => runApp(MaterialApp( title: 'Random Numbers', theme: ThemeData(primarySwatch: Colors.orange),

我试图生成两个不同的随机数并将它们相加,但弗利特似乎不喜欢我的数学。我一直收到这样一条消息:没有为Random类定义“+”

import 'package:flutter/material.dart';
import 'dart:math';

void main() => runApp(MaterialApp(
      title: 'Random Numbers',
      theme: ThemeData(primarySwatch: Colors.orange),
      home: MyHome(),
    ));

class MyHome extends StatefulWidget {
  @override
  _MyHomeState createState() => _MyHomeState();
}

class _MyHomeState extends State<MyHome> {
  @override
  Widget build(BuildContext context) {
    var num1 = new Random();
    for (var i = 0; i < 10; i++) {
      print(num1.nextInt(10));
    }
    var num2 = new Random();
    for (var i = 0; i < 10; i++) {
      print(num2.nextInt(10));
    }
    //var sum = num1 + num2;

    return Container();
  }
}
导入“包装:颤振/材料.省道”;
导入“dart:math”;
void main()=>runApp(MaterialApp(
标题:“随机数”,
主题:主题数据(原始样本:颜色。橙色),
home:MyHome(),
));
类MyHome扩展了StatefulWidget{
@凌驾
_MyHomeState createState()=>\u MyHomeState();
}
类MyHomeState扩展状态{
@凌驾
小部件构建(构建上下文){
var num1=新随机数();
对于(变量i=0;i<10;i++){
印刷品(num1.nextInt(10));
}
var num2=新随机数();
对于(变量i=0;i<10;i++){
印刷品(num2.nextInt(10));
}
//var总和=num1+num2;
返回容器();
}
}
我的目标是这样显示它:“2+5=”
用户将在其中填写答案。如果正确,则执行此操作。

错误告诉您正在尝试添加两个
随机对象,而不是两个数字。在循环中使用
nextInt()
可以正确打印它们,但在尝试对它们求和时,使用的是类型为
Random
的原始变量

试试这个:

class _MyHomeState extends State<MyHome> {
  @override
  Widget build(BuildContext context) {

    // Instantiate a Random class object
    var numGenerator = new Random();

    //You don't need a second loop because it was the same exact code,
    //only with a different variable name.
    for (var i = 0; i < 10; i++) {
      print(numGenerator.nextInt(10));
    }
    // Save the numbers you generated. Each call to nextInt returns a new one
    var num1 = numGenerator.nextInt(10);
    var num2 = numGenerator.nextInt(10);
    var sum = num1 + num2;

    //use num1, num2 and sum as you like    

    return Container();
  }
}
class\u MyHomeState扩展状态{
@凌驾
小部件构建(构建上下文){
//实例化一个随机类对象
var numGenerator=new Random();
//您不需要第二个循环,因为它是相同的代码,
//仅使用不同的变量名。
对于(变量i=0;i<10;i++){
打印(numGenerator.nextInt(10));
}
//保存生成的号码。每次调用nextInt都会返回一个新号码
var num1=numGenerator.nextInt(10);
var num2=numGenerator.nextInt(10);
var总和=num1+num2;
//随意使用num1、num2和sum
返回容器();
}
}

非常感谢你,Gerorge,很抱歉我缺席了

我通过dart得到了一些帮助来解决这个问题

Random seed = Random();
const int MAX_VALUE = 10;

int val1 = seed.nextInt(MAX_VALUE);
int val2 = seed.nextInt(MAX_VALUE);
int sum = val1 + val2;

print('$val1 + $val2 = $sum'); 

非常感谢你。现在,当我运行它时,我从每个num1和num2得到了10个int。从总和中,我得到了一个答案,它不能和num1和num2相加。I/flatter(17272):num 1 I/flatter(17272):num 2 I/flatter(17272):num 2 I/flatter(17272):3 I/flatter(17272):总和I/flatter(17272):12我只进行了一次计算:Num1=>2;Num2=>3;总和=>12@J.W每次你打电话给nextInt,你都会得到一个新号码。你在保存那些号码吗?也许我们应该让代码更简洁一点,我已经编辑了答案,让它更好。保存生成的值,以便以后知道该数字。@J.W如果这解决了您的问题,请单击“我的答案”投票部分下的绿色复选框,将此答案标记为正确。谢谢:)