Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:匹配两种不同类型的数组_Java_Arrays - Fatal编程技术网

Java:匹配两种不同类型的数组

Java:匹配两种不同类型的数组,java,arrays,Java,Arrays,我正在进行密码登录,需要匹配两个数组:User和Pass。如果用户输入“标记”和“通过”,则应成功显示。但是,字符串[]input=pass.getPassword()有问题;以及两个阵列的匹配 String[] User = {"mark", "susan", "bobo"}; String[] Pass = {"pass", "word", "password"}; String[] input = pass.getPassword(); if(Pass.length =

我正在进行密码登录,需要匹配两个数组:User和Pass。如果用户输入“标记”和“通过”,则应成功显示。但是,字符串[]input=pass.getPassword()有问题;以及两个阵列的匹配

  String[] User = {"mark", "susan", "bobo"};

  String[] Pass = {"pass", "word", "password"};
  String[] input = pass.getPassword();

  if(Pass.length == input.length && user.getText().equals(User))
  {
     lblstat.setForeground(Color.GREEN);
     lblstat.setText("Successful");
  }
  else
  {
     lblstat.setForeground(Color.RED);
     lblstat.setText("Failed");
  }

数组.equals(输入,通过)如何?

数组.equals(输入,通过)如何?

我建议改用
映射。这样,将键值对保持在一起就更容易了

Map<String, String> logins = new HashMap<String, String>();
logins.put("mark", "pass");
logins.put("susan", "word");
logins.put("bobo", "password");

String username = user.getText();
String password = pass.getPassword();

if (logins.containsKey(username) && logins.get(username).equals(password)) {
    // Known login.
} else {
    // Unknown login.
}
Map logins=newhashmap();
登录。放置(“标记”、“通过”);
logins.put(“susan”,“word”);
登录。输入(“bobo”、“密码”);
字符串username=user.getText();
字符串密码=pass.getPassword();
if(logins.containsKey(用户名)和&logins.get(用户名).equals(密码)){
//已知登录名。
}否则{
//未知登录名。
}

要了解有关地图的更多信息,请查看。

我建议改用
地图。这样,将键值对保持在一起就更容易了

Map<String, String> logins = new HashMap<String, String>();
logins.put("mark", "pass");
logins.put("susan", "word");
logins.put("bobo", "password");

String username = user.getText();
String password = pass.getPassword();

if (logins.containsKey(username) && logins.get(username).equals(password)) {
    // Known login.
} else {
    // Unknown login.
}
Map logins=newhashmap();
登录。放置(“标记”、“通过”);
logins.put(“susan”,“word”);
登录。输入(“bobo”、“密码”);
字符串username=user.getText();
字符串密码=pass.getPassword();
if(logins.containsKey(用户名)和&logins.get(用户名).equals(密码)){
//已知登录名。
}否则{
//未知登录名。
}

要了解更多关于地图的信息,请查看。

我没有完全理解您的问题,但我可以猜出您在寻找什么:


您可以使用hashmap代替数组,其中key作为用户值,value作为传递值。因此,当你需要某个特定用户的密码时,你可以从地图上获取该密码。

我没有完全理解你的问题,但我可以猜出你在寻找什么:


您可以使用hashmap代替数组,其中key作为用户值,value作为传递值。因此,当你需要某个特定用户的密码时,你可以从地图上获得该密码。

我建议你也使用某种键值数据结构。您也可以尝试以下方法:

char[] input = pass.getPassword();
String password = new String(input);
那你就照巴卢斯的建议去做。
您可以考虑修剪包含用户名的文本框中读取的字符串。

< P>我建议您也使用某种键值数据结构。您也可以尝试以下方法:

char[] input = pass.getPassword();
String password = new String(input);
那你就照巴卢斯的建议去做。 您可能会考虑从包含用户名的文本框中读取字符串。

比“我有麻烦”更具体。您是否收到错误消息?输出?究竟是什么问题?乍一看,似乎您正在使用getText()将字符串与字符串数组进行比较。equals命令可能比“我有麻烦”更具体。您是否收到错误消息?输出?究竟是什么问题?乍一看,您似乎正在使用getText().equals命令将字符串与字符串数组进行比较