我正在尝试获取一个字符串来读取一个文件,然后将所有数字存储在一个数组中,该数组可以在另一个循环中逐个调用。将数组命名为digitStorage please:D这是我当前的代码:
for (int i = 0; i <= 40000 ; i++) {
String digit;
if ( i <=39998)
digit = pictureFile.substring(i, i+1);
else
digit = pictureFile.substring(39998,39999);
我的问题:
做什么,我怎么能这样做,我怎么能让它逐个读取每个数字(单个整数),然后将它们1个1地存储在一个稍后可以调用的数组中,每个数字对应一个用于在图形窗口中绘制图片的颜色(文件中有40,000个单位数整数,我已经计算出如何阅读)?
干杯。
答案 0 :(得分:0)
正如您所提到的,您已经阅读过该文件并希望将其存储在某种数组中。下面的代码可以使用。
List<String> list = new ArrayList<String>();
for (int i = 0; i <= 40000 ; i++) {
String digit;
if ( i <=39998)
list.add(pictureFile.substring(i, i+1));
else
list.add(pictureFile.substring(39998,39999));
}
如果你想要我们的List of Integer。
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i <= 40000 ; i++) {
String digit;
if ( i <=39998)
list.add(Integer.parseInt(pictureFile.substring(i, i+1)));
else
list.add(Integer.parseInt(pictureFile.substring(39998,39999)));
}
您可以在此之后迭代list
。
答案 1 :(得分:0)
你的问题不是很明确,但我相信应该这样做:
int [] digitStorage = new int[40000];
for (int i = 0; i <= 40000 ; i++) {
if ( i <=39998)
int[i] = Integer.parseInt(pictureFile.substring(i, i+1));
else
int[i] = Integer.parseInt(pictureFile.substring(39998,39999));
答案 2 :(得分:0)
根据您的评论和问题,我能想到的最简单的解决方案是使用String.toCharArray()
和Character.digit(char, int)
char[] chars = pictureFile.toCharArray();
int[] digitStorage = new int[chars.length];
for (int i = 0; i < chars.length; i++) {
digitStorage[i] = Character.digit(chars[i], 10);
}
System.out.println(Arrays.toString(digitStorage));