Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 - Fatal编程技术网

Java 数组返回为空,而不是数字列表

Java 数组返回为空,而不是数字列表,java,arrays,Java,Arrays,基本上,我正在为我的班级编写一个程序,从文本文件中找到数字的前导位数并对它们进行排序。我知道我没有最好的编码技能,因为我是一个初学者,但我有一个如何做到这一点的想法。不知怎的,我遇到了一个问题,假设返回的数组结果是空的。这个数组实际上返回了两次。第一次,它整齐地返回到main方法,但是当它返回到change3()时,它返回“[]。” 我试着改变周围的变量,甚至试着组合这些方法,但没有任何效果,我只是得到了错误 import java.io.*; 导入java.util.*; PG级 { 公共静态

基本上,我正在为我的班级编写一个程序,从文本文件中找到数字的前导位数并对它们进行排序。我知道我没有最好的编码技能,因为我是一个初学者,但我有一个如何做到这一点的想法。不知怎的,我遇到了一个问题,假设返回的数组结果是空的。这个数组实际上返回了两次。第一次,它整齐地返回到main方法,但是当它返回到
change3()
时,它返回“
[]。

我试着改变周围的变量,甚至试着组合这些方法,但没有任何效果,我只是得到了错误

import java.io.*;
导入java.util.*;
PG级
{
公共静态void main(字符串[]args)
{   
列表字符串=新的ArrayList();
Strings=change();//它在这里工作得很好
System.out.println(Strings);//它在这里工作得很好
列表整数=新的ArrayList();
整数=change2();
列表线索=新的ArrayList();
leads=change3();
}
公共静态列表更改()
{
扫描仪输入=新扫描仪(系统输入);
List_S=new ArrayList();
while(在.hasNextLine()中)
{
String line=in.nextLine();
line=line.replaceAll(“,”和“”);
int result=Integer.parseInt(行);
List_I=new ArrayList();
列表I.添加(结果);
列表添加(行);
}
退货清单;
}
公共静态列表更改2()
{
扫描仪输入=新扫描仪(系统输入);
List_I=new ArrayList();
while(在.hasNextLine()中)
{
String line=in.nextLine();
line=line.replaceAll(“,”和“”);
int result=Integer.parseInt(行);
List_S=new ArrayList();
列表I.添加(结果);
列表添加(行);
}
返回列表_I;
}
公共静态列表更改3()
{
列表=新的ArrayList();
list=change();//这应该给我一个数字列表(字符串),这样可以帮助我找到前导数字
System.out.println(list);//检查列表中是否有数字。它没有。它返回[],就好像列表中没有数字一样。
列表线索=新的ArrayList();
对于(int i=0;i

基本上,就目前而言,我只想让它在方法
change3()
中打印列表,这样我就可以继续使用该程序了。

试试这段代码。它应该会起作用。如果不起作用,请评论该问题

还要将此代码与您的匹配

变更方法有一些变化。我已经删除了多余的代码

如果使用相同的列表,我建议在所有3种更改方法中通过该列表。所以你不必在扫描仪的帮助下再读一遍

import java.io.*;
import java.util.*;

class PG 
{
    public static void main(String[] args)
    {   
        List<String> Strings = new ArrayList<String>();
        Strings = change(); // it works perfectly right here
        System.out.println(Strings); // it works perfectly right here
        List<Integer> Integers = new ArrayList<Integer>();
        Integers = change2();
        List<Integer> leads = new ArrayList<Integer>();
        leads = change3();
    }


    public static List<String> change()
    {
        Scanner in = new Scanner(System.in);
        List<String> list_S = new ArrayList<String>();
        while (in.hasNextLine()) 
        {
                String line = in.nextLine();
                line = line.replaceAll(",", "");
                list_S.add(line);
        }
        return list_S;
    }

    public static List<Integer> change2()
    {
        Scanner in = new Scanner(System.in);
        List<Integer> list_I = new ArrayList<Integer>();
        while (in.hasNextLine()) 
        {
                String line = in.nextLine();
                line = line.replaceAll(",", "");
                int result = Integer.parseInt(line);
                list_I.add(result);
        }
        return list_I;

    }

    public static List<Integer> change3()
    {
        List<String> list = new ArrayList<String>();
        list = change();  // This is supposed to give me a list of numbers(string) so it can help me find the leading digit
        System.out.println(list); // checking to see if the list even has numbers in it.  It does not.  It returns [] as if nothing is in the list.
        List<Integer> leads = new ArrayList<Integer>();
        for (int i = 0; i < list.size(); i++)
        {
            // get the leading integer
        }
        return leads;
    }
}
import java.io.*;
导入java.util.*;
PG级
{
公共静态void main(字符串[]args)
{   
列表字符串=新的ArrayList();
Strings=change();//它在这里工作得很好
System.out.println(Strings);//它在这里工作得很好
列表整数=新的ArrayList();
整数=change2();
列表线索=新的ArrayList();
leads=change3();
}
公共静态列表更改()
{
扫描仪输入=新扫描仪(系统输入);
List_S=new ArrayList();
while(在.hasNextLine()中)
{
String line=in.nextLine();
line=line.replaceAll(“,”和“”);
列表添加(行);
}
退货清单;
}
公共静态列表更改2()
{
扫描仪输入=新扫描仪(系统输入);
List_I=new ArrayList();
while(在.hasNextLine()中)
{
String line=in.nextLine();
line=line.replaceAll(“,”和“”);
int result=Integer.parseInt(行);
列表I.添加(结果);
}
返回列表_I;
}
公共静态列表更改3()
{
列表=新的ArrayList();
list=change();//这应该给我一个数字列表(字符串),这样可以帮助我找到前导数字
System.out.println(list);//检查列表中是否有数字。它没有。它返回[],就好像列表中没有数字一样。
列表线索=新的ArrayList();
对于(int i=0;i
试试这段代码。它应该会起作用。如果不起作用,请评论该问题

还要将此代码与您的匹配

变更方法有一些变化。我已经删除了多余的代码

如果使用相同的列表,我建议在所有3种更改方法中通过该列表。所以你不必在扫描仪的帮助下再读一遍

import java.io.*;
import java.util.*;

class PG 
{
    public static void main(String[] args)
    {   
        List<String> Strings = new ArrayList<String>();
        Strings = change(); // it works perfectly right here
        System.out.println(Strings); // it works perfectly right here
        List<Integer> Integers = new ArrayList<Integer>();
        Integers = change2();
        List<Integer> leads = new ArrayList<Integer>();
        leads = change3();
    }


    public static List<String> change()
    {
        Scanner in = new Scanner(System.in);
        List<String> list_S = new ArrayList<String>();
        while (in.hasNextLine()) 
        {
                String line = in.nextLine();
                line = line.replaceAll(",", "");
                list_S.add(line);
        }
        return list_S;
    }

    public static List<Integer> change2()
    {
        Scanner in = new Scanner(System.in);
        List<Integer> list_I = new ArrayList<Integer>();
        while (in.hasNextLine()) 
        {
                String line = in.nextLine();
                line = line.replaceAll(",", "");
                int result = Integer.parseInt(line);
                list_I.add(result);
        }
        return list_I;

    }

    public static List<Integer> change3()
    {
        List<String> list = new ArrayList<String>();
        list = change();  // This is supposed to give me a list of numbers(string) so it can help me find the leading digit
        System.out.println(list); // checking to see if the list even has numbers in it.  It does not.  It returns [] as if nothing is in the list.
        List<Integer> leads = new ArrayList<Integer>();
        for (int i = 0; i < list.size(); i++)
        {
            // get the leading integer
        }
        return leads;
    }
}
import java.io.*;
导入java.util.*;
PG级
{
公共静态void main(字符串[]args)
{   
列表字符串=新的ArrayList();
Strings=change();//它在这里工作得很好
System.out.println(Strings);//它在这里工作得很好
列表整数=新的ArrayList();
整数=change2();
列表线索=新的ArrayList();
leads=change3();
}
公共静态列表更改()
{
扫描仪输入=新扫描仪(系统输入);
List_S=new ArrayList();
while(在.hasNextLine()中)
{
String line=in.nextLine();
line=line.replaceAll(“,”和“”);
列表添加(行);
}
退货清单;
}
公共静态列表更改2()
{
扫描仪输入=新扫描仪(系统输入);
列表\u I=新阵列列表