【问题标题】:How to initialize a string array in a main Java method如何在主要 Java 方法中初始化字符串数组
【发布时间】:2018-08-23 18:19:35
【问题描述】:

我编写了一些代码来创建和初始化一个字符串数组列表。是否可以直接在 String [] args 方法本身中声明参数,而不是创建额外的 String arrayList?

public class sampleCode{
    public static void main(String[] args ) {

    String[]args2 = {"en", "es"};

        if( args2[0].equals("en")) {
            System.out.println("english option");
        }
        else if( args2[1].equals("es")) {
            System.out.println("spanish option");
        }
        else System.out.println("this is the default option");
    }
}

【问题讨论】:

  • 你的问题不清楚。我在上面的代码中没有看到任何 ArrayList。另外,“是否可以将参数直接声明到 String [] args 方法本身”是什么意思?你的意图是什么?
  • 我的 arrayList 是“en”和“es”。它们保存的 args2 对象类似于上面的“String[] args”主方法。我希望使这段代码更简洁,当 en 是第一个数组时打印“English option”,当 es 是第二个选项时打印“spanish option”。
  • ???请重新声明,因为这不合逻辑。
  • 您混淆了术语,表明您可能缺乏 Java 教程。为了您和我们的利益,请查看它们——您可以在此处找到教程:The Really Big Index

标签: java arrays arraylist main


【解决方案1】:

首先,我很难理解你的要求,但我终于明白了。

您的请求的答案是肯定的。是的,可以不在您的代码中创建额外的 String 数组。在这种情况下,您需要使用命令行输入选项enes

以下是更新代码的方法:

public class SampleCode { 

  public static void main(String[] args ) {

  //String[]args2 = {"en", "es"};

  if( args[0].equals("en")) {
    System.out.println("english option");
 }
 else if( args[1].equals("es")) {
    System.out.println("spanish option");
 }
 else { System.out.println("this is the default option");}

 }
}

现在,流程如下:

  1. 在您的terminal 中,编译您的代码:javac SampleCode.java
  2. 并通过给出参数来执行它:java SampleCode "en" "es"

这是一种可能的方式来做你需要的。但在这种情况下,总是会获得english option

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 2014-12-08
    • 2020-02-26
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多