Random 计算颤振中的两个随机数
我试图生成两个不同的随机数并将它们相加,但弗利特似乎不喜欢我的数学。我一直收到这样一条消息:没有为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),
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如果这解决了您的问题,请单击“我的答案”投票部分下的绿色复选框,将此答案标记为正确。谢谢:)