Java:匹配两种不同类型的数组
我正在进行密码登录,需要匹配两个数组:User和Pass。如果用户输入“标记”和“通过”,则应成功显示。但是,字符串[]input=pass.getPassword()有问题;以及两个阵列的匹配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 =
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命令将字符串与字符串数组进行比较