Java 读取文件扫描方法。然后在main中创建数组列表
我是java新手,对此我有困难。我需要在一个方法中读取一个包含整数的txt文件,然后我应该在main中调用它来生成一个ArrayList。我似乎不明白 这就是我所拥有的Java 读取文件扫描方法。然后在main中创建数组列表,java,java.util.scanner,Java,Java.util.scanner,我是java新手,对此我有困难。我需要在一个方法中读取一个包含整数的txt文件,然后我应该在main中调用它来生成一个ArrayList。我似乎不明白 这就是我所拥有的 public class num { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list= getFile();
public class num {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list= getFile();
System.out.println("numbers are: " + list);
}
public static void getFile() {
try {
Scanner read = new Scanner(new File("numbers.txt"));
do {
int line = read.nextInt();
}while (read.hasNext());
} catch (FileNotFoundException fnf) {
System.out.println("File was not found");
}
return line;
}
}
公共类num{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
list=getFile();
System.out.println(“编号为:“+列表”);
}
公共静态void getFile(){
试一试{
扫描仪读取=新扫描仪(新文件(“numbers.txt”);
做{
int line=read.nextInt();
}while(read.hasNext());
}捕获(FileNotFoundException fnf){
System.out.println(“未找到文件”);
}
回流线;
}
}
您需要将方法的返回类型更改为在本地ArrayList中列出并存储每个nextInt,并且必须在末尾返回本地列表
public class num {
public static void main(String[] args) {
ArrayList<Integer> list = getFile();
list.forEach(System.out::println);
}
public static List<Integer> getFile() {
List res = new ArrayList<Integer>();
try {
Scanner read = new Scanner(new File("numbers.txt"));
do {
res.add(read.nextInt());
}while (read.hasNext());
} catch (FileNotFoundException fnf) {
System.out.println("File was not found");
}
return res;
}
}
公共类num{
公共静态void main(字符串[]args){
ArrayList=getFile();
list.forEach(System.out::println);
}
公共静态列表getFile(){
List res=new ArrayList();
试一试{
扫描仪读取=新扫描仪(新文件(“numbers.txt”);
做{
res.add(读.nextInt());
}while(read.hasNext());
}捕获(FileNotFoundException fnf){
System.out.println(“未找到文件”);
}
返回res;
}
}
您需要将方法的返回类型更改为在本地ArrayList中列出并存储每个nextInt,并且必须在末尾返回本地列表
public class num {
public static void main(String[] args) {
ArrayList<Integer> list = getFile();
list.forEach(System.out::println);
}
public static List<Integer> getFile() {
List res = new ArrayList<Integer>();
try {
Scanner read = new Scanner(new File("numbers.txt"));
do {
res.add(read.nextInt());
}while (read.hasNext());
} catch (FileNotFoundException fnf) {
System.out.println("File was not found");
}
return res;
}
}
公共类num{
公共静态void main(字符串[]args){
ArrayList=getFile();
list.forEach(System.out::println);
}
公共静态列表getFile(){
List res=new ArrayList();
试一试{
扫描仪读取=新扫描仪(新文件(“numbers.txt”);
做{
res.add(读.nextInt());
}while(read.hasNext());
}捕获(FileNotFoundException fnf){
System.out.println(“未找到文件”);
}
返回res;
}
}
试试这个:
public class num {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
getFile(list);
System.out.println("numbers are: " + list);
}
public static void getFile(ArrayList<Integer> list) {
try {
Scanner read = new Scanner(new File("numbers.txt"));
do {
list.add(read.nextInt());
}while (read.hasNext());
} catch (FileNotFoundException fnf) {
System.out.println("File was not found");
}
}
公共类num{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
获取文件(列表);
System.out.println(“编号为:“+列表”);
}
公共静态void getFile(ArrayList列表){
试一试{
扫描仪读取=新扫描仪(新文件(“numbers.txt”);
做{
list.add(读.nextInt());
}while(read.hasNext());
}捕获(FileNotFoundException fnf){
System.out.println(“未找到文件”);
}
}
基本上,您的getFile()
方法是void类型,因此它不会返回任何内容。因此,您需要将列表作为参数传递到此方法中,然后对该列表进行变异。然后您可以在主方法中查看所做的更改。尝试以下操作:
public class num {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
getFile(list);
System.out.println("numbers are: " + list);
}
public static void getFile(ArrayList<Integer> list) {
try {
Scanner read = new Scanner(new File("numbers.txt"));
do {
list.add(read.nextInt());
}while (read.hasNext());
} catch (FileNotFoundException fnf) {
System.out.println("File was not found");
}
}
公共类num{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
获取文件(列表);
System.out.println(“编号为:“+列表”);
}
公共静态void getFile(ArrayList列表){
试一试{
扫描仪读取=新扫描仪(新文件(“numbers.txt”);
做{
list.add(读.nextInt());
}while(read.hasNext());
}捕获(FileNotFoundException fnf){
System.out.println(“未找到文件”);
}
}
基本上,您的getFile()
方法是void类型,因此它不会返回任何内容。因此,您需要将列表作为参数传递到此方法中,然后对该列表进行变异。然后您可以在主方法中查看更改。- 请看一下这里的代码-
- 请看一下这里的代码-
void
(想想您需要返回什么。您需要执行类似于ArrayList list=getFile();
的操作)您需要从方法中返回某些内容,这样它就不应该是void
(想想你需要它返回什么。你需要做一些类似于主目录中的ArrayList list=getFile();
)