java.lang.NumberFormatException:无效浮点值:“0”;x";在android中

java.lang.NumberFormatException:无效浮点值:“0”;x";在android中,android,Android,我正在尝试获取字符串数组中的随机值。我想在文本视图中显示它们。我写了下面的代码。我有数字形式的感觉 请帮帮我 如何解决问题以及如何在textview中显示随机值 我的代码:- public类MainActivity扩展AppCompatActivity实现View.OnClickListener{ inti1,i2,i3,i4,i5; 字符串[]字符串; Text查看capta_Text; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onC

我正在尝试获取字符串数组中的随机值。我想在文本视图中显示它们。我写了下面的代码。我有数字形式的感觉

请帮帮我

如何解决问题以及如何在textview中显示随机值

我的代码:-
public类MainActivity扩展AppCompatActivity实现View.OnClickListener{
inti1,i2,i3,i4,i5;
字符串[]字符串;
Text查看capta_Text;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
capta_Text=(TextView)findViewById(R.id.captaid);
字符串=新字符串[]{“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“l”、“l”、“m”、“n”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”、“a”、“b”、“c”、“d”、“e”、“g”、“h”、“i”、“j”、“l”、“m”、“n”、“o”、“p”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“w”、“x”、“y”、“z”};
List-stringList=newarraylist(Arrays.asList(strings));
加载captha();
}
私有void加载captha(){
试一试{
String randomStr=strings[new Random().nextInt(strings.length)];
int arc4random=Integer.parseInt(randomStr);
i1=(arc4random%strings.length)-1;
i2=(arc4random%strings.length)-1;
i3=(arc4random%strings.length)-1;
i4=(arc4random%strings.length)-1;
i5=(arc4random%strings.length)-1;
字符串captaText=字符串[i1]+“”+字符串[i2]+“”+字符串[i3]+“”+字符串[i4]+“”+字符串[i5];
capta_Text.setText(captaText);
}捕获(数字格式){
e、 printStackTrace();
}
}
}

快速浏览一下您的代码,我觉得这个错误相当明显。查看您的
字符串
数组定义:

strings = new String [] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c",
                         "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p",
                         "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C",
                         "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
                         "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
您在其中包含字母,然后尝试选择其中一个并将其解析为整数:

String randomStr = strings[new Random().nextInt(strings.length)];
int arc4random = Integer.parseInt(randomStr);
这显然不起作用。如果您想从
字符串
数组中随机选择5个字母来构建验证码,那么只需执行以下操作:

Random rand = new Random();

i1 = rand.nextInt(strings.length);
i2 = rand.nextInt(strings.length);
i3 = rand.nextInt(strings.length);
i4 = rand.nextInt(strings.length);
i5 = rand.nextInt(strings.length);

String captaText = strings[i1]+""+strings[i2]+""+strings[i3]+""+strings[i4]+""+strings[i5];
capta_Text.setText(captaText);

快速浏览一下您的代码,我觉得这个错误相当明显。查看您的
字符串
数组定义:

strings = new String [] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c",
                         "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p",
                         "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C",
                         "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
                         "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
您在其中包含字母,然后尝试选择其中一个并将其解析为整数:

String randomStr = strings[new Random().nextInt(strings.length)];
int arc4random = Integer.parseInt(randomStr);
这显然不起作用。如果您想从
字符串
数组中随机选择5个字母来构建验证码,那么只需执行以下操作:

Random rand = new Random();

i1 = rand.nextInt(strings.length);
i2 = rand.nextInt(strings.length);
i3 = rand.nextInt(strings.length);
i4 = rand.nextInt(strings.length);
i5 = rand.nextInt(strings.length);

String captaText = strings[i1]+""+strings[i2]+""+strings[i3]+""+strings[i4]+""+strings[i5];
capta_Text.setText(captaText);

当您试图将字母解析为数字时,您期望发生什么?也就是说,你到底想做什么?这个逻辑实际上是我为验证码实现编写的,我的意思是我想显示字符串数组随机值当你试图将一个字母解析为一个数字时,你期望发生什么?就是你想做什么,,确切地说?这个逻辑实际上是我为验证码实现写的,我的意思是我想显示字符串数组随机值这个逻辑实际上是我为验证码实现写的,我的意思是我想显示字符串数组随机值这个逻辑实际上是我为验证码实现写的,我的意思是我想显示字符串数组随机值