java - 使用扫描仪 JAVA 初始化数组

标签 java arrays java.util.scanner args

public class Main {
   public static void main(String[] args) {
      args = new String[]{"0 0 1 1"};
   }
}

我想使用 Scanner 从控制台初始化 args。可能吗?

最佳答案

args 包含调用时传递给 Java 程序的命令行参数。

例如,如果我像这样创建 PrintArgs 类:

public class PrintArgs {
    public static void main (String[] args) {
        for (String s: args) {// loop through args array
            System.out.println(s); // print out every String
        }
    }
}

我现在可以运行 PrintArgs 并将 Strings 传递给 args,例如在我写的命令行上:

$java PrintArgs First Second Third

因此,它将在控制台上打印出来:

First
Second
Third

因此,您不需要 Scanner 来读取 String[]args 数组。

此外,如果您想将文件路径作为字符串参数传递给 args,然后使用 Scanner 从中读取,您可以这样做:

public class ReadFileUsingScanner{
    public static void main (String[] args) {
         try {
              File f = new File(args[0]); // suppose you passed the file path as first String
              Scanner input = new Scanner(f);

              while (input.hasNextLine()) { // loop through every line
                System.out.println(input.nextLine()); // print it out
              }
            input.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
} 

然后运行 ​​ReadFileUsingScanner,例如:

$java ReadFileUsingScanner someFilePath.txt

关于java - 使用扫描仪 JAVA 初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44122163/

相关文章:

java - JUnit-NoSuchElementException : No line found

java - 让扫描仪包含但忽略引用的文本?

java - DataSnapshot 子级返回 null

java - 无法在 mac os 上使用 maven3 使用 intellij IDEA 2019.2 下载源代码

java - PersistenceUnitInfo [appName] 有事务类型 JTA,但没有定义 jtaDataSource

java - IntelliJ IDEA 可以为同一项目的文件打开多个编辑器窗口吗?

iphone - ios 将数组添加到前面的数组

java - 如何在java中显示索引位置但+1

java - 检查字符串中的单词是否在数组中

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?