我在运行此方法时有一些错误,但是我无法理解该错误是什么意思,因此该错误使我的应用程序崩溃了

问题描述 投票:-2回答:1

我在此代码PLZ中发现一些错误我在运行此方法时出现了一些错误,但我无法理解该错误想说什么,从而使我的应用崩溃了

import 'dart:math';
class Brain{
Brain({this.height,this.weight});
    final  int height;
    final  int weight;
double _bmi;
String calculatebmi(){
  _bmi = weight / pow( height/100, 2);
  return _bmi.toStringAsFixed(1);
}

String getresult(){
  if (_bmi >= 25){
    return 'OVERWEIGHT'; 
  }
  else if (_bmi > 18.5 ){
    return 'NORAML';
  }
  else{
    return 'UNDERWEIGHT';
  }
}



error=>
I/flutter (29335): The following NoSuchMethodError was thrown building Builder(dirty):
I/flutter (29335): The method '>=' was called on null.
I/flutter (29335): Receiver: null
I/flutter (29335): Tried calling: >=(25)
I/flutter (29335):
I/flutter (29335): The relevant error-causing widget was:
entity-framework flutter dart methods flutter-layout
1个回答
0
投票

[创建类时永远不要将_bmi设置为一个值,因此除非在调用calculatebmi()之前调用getResult()函数,否则它将抛出该错误,因为您无法在a >=上执行比较操作飞镖中的空值。

尝试将_bmi的初始化更改为double _bmi = 0;

© www.soinside.com 2019 - 2024. All rights reserved.