好,这是东西。我正在与Android Studio合作完成我的学位课程的最终项目。我的职责之一是创建一个Arraylist,其最大大小必须为用户介绍的数字!我想它看起来很简单,但我在某些方面陷入了困境,我怀疑是String和Int之间大小值的转换。
特别是,我试图从中获取用户的电话号码和editText,将其转换为String(getText()。toString()),然后使用它转换为int(Integer.parseInt() ),但当我在设备上运行该应用时,应用立即崩溃。我也已经尝试过使用[[“ valueOf”],也将'int'更改为'Integer'(对不起,我不知道有什么区别,我自己从0开始进行了全部研究)并且仍然可以得到即时信息。关。我在这里搜索了很多内容,但是我找不到具体解决方案,因此,如果有人可以帮助我,我将非常感激。这是我的代码!希望对您有所帮助!
package com.example.listwithrecyclerview;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
Integer num;
String Snum;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText ET1 = findViewById(R.id.editText);
Snum = ET1.getText().toString();
num = Integer.parseInt(Snum);
//also if i replace Snum by a number like:"23" in this last line, it works, so i guess it could
//be the way i put that variable inside the parseInt().
}
public void SendList (View view){
Intent A = new Intent(this, List.class);
A.putExtra("size", num);
startActivity(A);
}
}
此外,如果您知道一个好的库,它可以进行统计数学运算,例如典型的偏差,算术平均值等,这对于我的最终项目将是完美的。非常感谢!
int
(也许是空格),无论您应该捕获NumberFormatException
并提供有用的默认值都是如此。类似,try {
num = Integer.parseInt(Snum.trim());
} catch (NumberFormatException nfe) {
num = -1;
}