对String和Int之间的转换的一些疑问

问题描述 投票:0回答:1

好,这是东西。我正在与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); } }
此外,如果您知道一个好的库,它可以进行统计数学运算,例如典型的偏差,算术平均值等,这对于我的最终项目将是完美的。

非常感谢!

java android arrays android-studio data-conversion
1个回答
0
投票
假设文本中存在某些无效的int(也许是空格),无论您应该捕获NumberFormatException并提供有用的默认值都是如此。类似,

try { num = Integer.parseInt(Snum.trim()); } catch (NumberFormatException nfe) { num = -1; }

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