gpt4 book ai didi

java - 结果 : NaN will not work?

转载 作者:行者123 更新时间:2023-12-01 23:18:02 25 4
gpt4 key购买 nike

在应用程序中,我有不同的 Activity 页面,要求用户输入数字数据。我考虑将数据存储如下,以便我可以在最终 Activity 中使用它:

public void onClick(View v) {
String variable1 = input.getText().toString();
Double.parseDouble(variable1); //stores information put into variable
{ Intent myintent = (new Intent(step1.this,step2.class));
myintent.putExtra("variable1",variable1);
startActivity(myintent);

我对所有其他 Activity 执行相同的过程,直到最后一个 Activity :

    protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);{
setContentView(R.layout.activity_iie);
Bundle extras = getIntent().getExtras(); //retrieves variables stored for formula

if(extras !=null){
double variable1 = extras.getDouble("VARIABLE1");
double vari2 = extras.getDouble("VARI2");
double vari3 = extras.getDouble("VARI3");
double finalvari = extras.getDouble("finalvari");
double solution= ((((vari2 - vari1) / (vari3) + finalvari)));

String lastString = "Result:" + solution; //prints out
TextView lastText = (TextView) findViewById(R.id.solution1);
lastText.setText(lastString);
}

我没有任何错误,但是当我进入最后一个 Activity 时,它打印出“Result:NaN”。我试图弄清楚为什么它打印 NaN;一切都设置为 double 。

什么可能导致这种情况?

更新@梅尔奎德斯

是的,我用 double 替换了字符串,如下所示:

'c.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
double variable1 = Double.parseDouble(input.getText().toString()); //stores information put into variable
{ Intent myintent = (new Intent(step1.this,step2.class));
myintent.putExtra("variabele1",variabele1);
startActivity(myintent);
'

然后在我的最后一个 Activity 中应该打印答案:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);{
setContentView(R.layout.activity_iie);
Bundle extras = getIntent().getExtras(); //retrieves variables stored formula

if (extras != null){
double variable1 = extras.getDouble("variable1");
double vari2 = extras.getDouble("vari2");
double vari3 = extras.getDouble("vari3");
double engagement = extras.getDouble("engagement1");
double solution= ((((vari2-variable1)/(vari3))+finalvari));
String lastString = "Result:" +solution; //prints out
TextView lastText= (TextView) findViewById(R.id.solution1);
lastText.setText(lastString);

决定像您建议的那样发布更多内容以提供潜在帮助。

最佳答案

在启动结束时,您只需设置一个额外的variable1

在接收端,您尝试从 extras 中获取四个值:

double variable1 = extras.getDouble("VARIABLE1");
double vari2 = extras.getDouble("VARI2");
double vari3 = extras.getDouble("VARI3");
double finalvari = extras.getDouble("finalvari");
如果 key 不存在,

getDouble() 将返回 0.0

现在,在这里

double solution= ((((vari2-vari1)/(vari3)+finalvari)));

除以零,这在 float 学中会导致结果不是数字 (NaN)。

关于java - 结果 : NaN will not work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20937177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com