Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将整数列表中的每一行转换为整数数组?_Java_Arrays_Arraylist_Integer - Fatal编程技术网

Java 将整数列表中的每一行转换为整数数组?

Java 将整数列表中的每一行转换为整数数组?,java,arrays,arraylist,integer,Java,Arrays,Arraylist,Integer,我是Java新手,如果有任何不清楚的地方,我想道歉-我想把一个四位整数的列表转换成一个整数数组的列表-也就是说,如果我有一个4567的整数,我想把它转换成一个四个独立整数的数组[4,5,6,7]。因此,我想将列表的每一行/索引转换为它自己的数组(而不是将整个列表转换为数组)。我现在正在读一个文件,它有四位整数(每一位都在一个新行上),并将它们添加到一个列表中,然后列表将返回该列表-我如何编写它,使它返回一个整数数组列表 public List <Integer> loadGu

我是Java新手,如果有任何不清楚的地方,我想道歉-我想把一个四位整数的列表转换成一个整数数组的列表-也就是说,如果我有一个4567的整数,我想把它转换成一个四个独立整数的数组[4,5,6,7]。因此,我想将列表的每一行/索引转换为它自己的数组(而不是将整个列表转换为数组)。我现在正在读一个文件,它有四位整数(每一位都在一个新行上),并将它们添加到一个列表中,然后列表将返回该列表-我如何编写它,使它返回一个整数数组列表

    public List <Integer> loadGuesses (String fileName){

    List<Integer> loadGuessList = new ArrayList<>();

    try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
        String line;
        while ((line = reader.readLine()) != null) {
            loadGuessList.add(Integer.parseInt(line));
        }
    } catch (FileNotFoundException f){
        System.out.println("File not found - please re-enter with correct file name.");
        getPlayerFile();
    } catch (IOException e){
        System.out.println("Incorrect file name - Please re-enter with correct file name.");
        getPlayerFile();
    }
    return loadGuessList;

}
公共列表加载猜测(字符串文件名){
List loadGuessList=新建ArrayList();
try(BufferedReader=new BufferedReader(new FileReader(fileName))){
弦线;
而((line=reader.readLine())!=null){
loadGuessList.add(Integer.parseInt(行));
}
}捕获(FileNotFoundException f){
System.out.println(“未找到文件-请使用正确的文件名重新输入”);
getPlayerFile();
}捕获(IOE异常){
System.out.println(“文件名不正确-请使用正确的文件名重新输入”);
getPlayerFile();
}
返回加载列表;
}

加载猜测列表的类型更改为
列表

读取字符串后,可以遍历字符并将每个字符转换为int

  List<int[]> loadGuessList = new ArrayList<>();

  while ((line = reader.readLine()) != null) {
    int [] digits = new int[4];
    for (int i = 0; i < line.length(); i++) { //Assuming line.length() will be 4
        digits[i] = line.charAt(i) - '0';
    }
    loadGuessList.add(digits);
}
List loadGuessList=new ArrayList();
而((line=reader.readLine())!=null){
int[]位=新的int[4];
对于(int i=0;i
参考:

加载猜测列表的类型更改为
列表

读取字符串后,可以遍历字符并将每个字符转换为int

  List<int[]> loadGuessList = new ArrayList<>();

  while ((line = reader.readLine()) != null) {
    int [] digits = new int[4];
    for (int i = 0; i < line.length(); i++) { //Assuming line.length() will be 4
        digits[i] = line.charAt(i) - '0';
    }
    loadGuessList.add(digits);
}
List loadGuessList=new ArrayList();
而((line=reader.readLine())!=null){
int[]位=新的int[4];
对于(int i=0;i
参考:

要将带有数字的字符串转换为带有文本数字的整数数组,请使用以下方法:

public static int[] toDigits(String text) {
    int[] digits = new int[text.length()];
    for (int i = 0; i < text.length(); i++)
        digits[i] = Character.digit(text.charAt(i), 10);
    return digits;
}
输出


要将带有数字的字符串转换为带有文本数字的整数数组,请使用以下方法:

public static int[] toDigits(String text) {
    int[] digits = new int[text.length()];
    for (int i = 0; i < text.length(); i++)
        digits[i] = Character.digit(text.charAt(i), 10);
    return digits;
}
输出

您可以尝试以下方法:

public static void main(String[] args) throws Exception {
    List<Integer> list = new ArrayList<Integer>();

    BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
    String line = null;
    while((line = reader.readLine()) != null ) {
        char[] tmp = line.toCharArray();
        for(int i=0; i<tmp.length; i++) {
            list.add(Character. getNumericValue(tmp[i]));
        }

    }
    // TODO release resources
}
publicstaticvoidmain(字符串[]args)引发异常{
列表=新的ArrayList();
BufferedReader=新的BufferedReader(新文件读取器(“data.txt”);
字符串行=null;
而((line=reader.readLine())!=null){
char[]tmp=line.toCharArray();
对于(int i=0;i您可以尝试以下方法:

public static void main(String[] args) throws Exception {
    List<Integer> list = new ArrayList<Integer>();

    BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
    String line = null;
    while((line = reader.readLine()) != null ) {
        char[] tmp = line.toCharArray();
        for(int i=0; i<tmp.length; i++) {
            list.add(Character. getNumericValue(tmp[i]));
        }

    }
    // TODO release resources
}
publicstaticvoidmain(字符串[]args)引发异常{
列表=新的ArrayList();
BufferedReader=新的BufferedReader(新文件读取器(“data.txt”);
字符串行=null;
而((line=reader.readLine())!=null){
char[]tmp=line.toCharArray();

for(int i=0;iList类已经提供了一个方便的方法()将自身转换为数组。您可以使用下面的代码段作为问题的参考

public Integer[] loadGuesses(String fileName) { List loadGuessList = new ArrayList(); /** * all of your code. */ return loadGuessList.toArray(new Integer[loadGuessList.size()]); } 公共整数[]加载猜测(字符串文件名){ List loadGuessList=新建ArrayList(); /** *你所有的代码。 */ 返回loadGuessList.toArray(新整数[loadGuessList.size()]); }
List类已经提供了一个方便的方法()将自身转换为数组。您可以使用下面的代码段作为问题的参考

public Integer[] loadGuesses(String fileName) { List loadGuessList = new ArrayList(); /** * all of your code. */ return loadGuessList.toArray(new Integer[loadGuessList.size()]); } 公共整数[]加载猜测(字符串文件名){ List loadGuessList=新建ArrayList(); /** *你所有的代码。 */ 返回loadGuessList.toArray(新整数[loadGuessList.size()]); } 您可以只使用
字符串的方法
类:

loadGuessList.add(line.toCharArray())
现在,
loadGuessList
是一个
列表

您可以使用
字符串
类的方法:

loadGuessList.add(line.toCharArray())

现在,
loadGuessList
是一个
列表

我强烈推荐谷歌生产的番石榴,如果你需要,它可以用来处理字符串或集合。
也许它不适合这个主题,但在以后的项目中你会从中受益。

我强烈推荐谷歌生产的番石榴,如果你需要的话,它可以用来处理字符串或集合。 也许它不适合这个主题,但在以后的项目中,您将从中受益