我试图将以下句子扫描成我的Java程序作为字符串:
The cat in the hat
The cat sat on the mat
Pigs in a blanket
然后使用while
循环和hasNextLine()
方法将其读入列表。
我的问题是我不确定如何读取它,因为它不是指定的文本文件,我必须使用args [0]
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.ArrayList;
public class Scan {
public static void main(String[] args) throws FileNotFoundException{
//Opens a scanner into the file
File file = new File( args [0] );
try (Scanner scan = new Scanner(file))
{
ArrayList<String> list = new ArrayList<String>();
while(scan.hasNextLine())
{
list.add(scan.nextLine());
}
}
}
}
答案 0 :(得分:1)
如果你只是想输出列表,那么使用a for each style loop是检查你是否做得对的最快方法。
for (String val : list)
{
System.out.println(val);
}
答案 1 :(得分:0)
我认为您应该用以下代码替换现有代码:
ArrayList<String> list = new ArrayList<String>();
Scanner scan = new Scanner(System.in);
while (scan.hasNextLine()) {
list.add(scan.nextLine());
}
scan.close();
使用System.in
代替new File(args[0])
。 System.in
从标准输入读取(即用键盘输入的内容)。这应该适用于IDE和命令行输入。
我希望这会有所帮助。