我必须输入一个带有数字的字符串,例如:1,2,3,4,5。
这是输入的样本,然后我必须将其放入 INT 数组中,以便我可以对其进行排序,但无法按其应有的方式工作。
package array;
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
String input;
int length, count, size;
Scanner keyboard = new Scanner(System.in);
input = keyboard.next();
length = input.length();
size = length / 2;
int intarray[] = new int[size];
String strarray[] = new String[size];
strarray = input.split(",");
for (count = 0; count < intarray.length ; count++) {
intarray[count] = Integer.parseInt(strarray[count]);
}
for (int s : intarray) {
System.out.println(s);
}
}
}
用于输入1,2,3,4,5
输入的长度为 9。9/2 = 4
在整数数学中,因此您只存储前四个变量,而不是全部 5 个。
即使你修复了这个问题,如果你传入以下输入,它也会严重崩溃10,11,12,13
如果你使用的话它会起作用(偶然)1,2,3,4,50
对于输入,奇怪的是:-)
做这样的事情你会更好
String[] strArray = input.split(",");
int[] intArray = new int[strArray.length];
for(int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
}
为了将来参考,当您遇到错误时,我强烈建议将其与代码一起发布。您可能没有人可以随时使用 jdk 来编译代码来调试它! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)