【问题标题】:How do I link a user input argument with a string?如何将用户输入参数与字符串链接?
【发布时间】:2013-10-22 17:01:52
【问题描述】:

所以,我对 Java 还很陌生,我刚刚开始一个项目,但遇到了一些问题。

我的问题是...如何将用户输入(参数)与字符串链接?

我之前已经在我的代码中定义了一些字符串,但在这一行中,我希望它匹配并检查与参数匹配的字符串并检查它是否包含某些内容:

if (!cs.hasPermission("foo." + args[0]) &&   [CODE HERE]   ){

我希望 [CODE HERE] 检查 args[0](用户输入)是否与字符串匹配,如果匹配则检查它是否与某些文本匹配。

【问题讨论】:

  • 你查看String的javadoc了吗?

标签: java string arguments minecraft bukkit


【解决方案1】:

Java 有一个.equals() 方法,可以用来比较两个字符串。它可以用来比较两个持有对 String 对象的引用的变量或比较 String 字面量

if( args[0].equals(someString) ) { // compare args[0] to another String variable
}

if( "someText".equals(args[0]) ) { // compare args[0] to a String literal
}

通读String documentation 对您刚开始时也非常有用。

【讨论】:

  • 感谢您的贡献,但我认为您没有理解我的意思...我希望它能够获取参数并将其与对应的字符串匹配。 :(
  • 你在说什么对应的字符串?我在你的问题中没有看到。
  • 之前在我的代码中,我定义了许多不同的字符串。我想要 [CODE HERE] 做的是将 Args[0] 与相应的字符串匹配。
  • 然后将上面代码中的someString替换成你自己的变量名。
  • 例如:定义字符串:Test, Foo, Stack Args[0] 输入:Foo 在这种情况下,这里的代码会检查字符串'Foo'中的一些文本
【解决方案2】:

这是String 等于 api,所以它应该看起来像:

if (!cs.hasPermission("foo." + args[0]) && args[0].equals(string){
  //code
}

【讨论】:

    【解决方案3】:

    您可以使用equals() 方法轻松完成。但您还应该检查是否设置了 args[0]。

    if (args.length > 0) {
        if (!cs.hasPermission("foo." + args[0]) && "StringToCompare".equals(args[0])) {
            // do something
        }
    } else {
        // handle error
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 2023-03-10
      • 1970-01-01
      • 2017-08-13
      相关资源
      最近更新 更多