在應用程序中,我有不同的活動頁面,要求用戶輸入數字數據。我認爲數據存儲爲下面這樣我就可以用它在最後的活動:結果:NaN不起作用?
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);
我做的所有其他活動,此相同的過程,直至最後一個,我有:
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);
}
我沒有任何錯誤,但是當我到達這最後的活動時,它打印出「結果:NaN」。我試圖找出它爲什麼打印NaN
;一切都設置爲一個雙。
這是什麼原因造成的?
更新 @Melquiades
是的,我換成了雙打的字符串,如下圖所示:
'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);
'
然後在我是想打印的回答最後一個活動:
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);
決定發佈一些更多的鍋像你所建議的那樣提供幫助。
如上所述,我已經設置了所有額外的變量,只是爲了節省時間讓你們閱讀代碼,我沒有發佈剩餘的變量。就被設置而言,上面提到的每個其他變量的編碼與變量1相同(編碼類似於代碼的第一位)。 如果我將vari3設置爲5並將finalvari設置爲1(當我運行其他活動以輸入應用程序中的變量數據時),我不明白我是如何除以零的。感謝您的上述職位。 –
好的,那麼只需在那裏設置一個調試器斷點,然後檢查變量以查看NaN到達表達式的位置。然後一步一步來回顧變量值的來源。 – laalto
我改變了方程式,現在我得到0.0當我不像你說的那樣分裂時。但是我很困惑,爲什麼現在我得到了0.0,我對其他變量做了和我一樣的變量1。 –