Ich habe eine Funktion, die Paare von Schlüsseln für ein Array von Benutzern generiert (mit RSA-Algorithmus), es scheint, die Schlüssel für jeden Benutzer ordnungsgemäß generiert und sie einer Array-Liste hinzugefügt. Wenn ich jedoch versuche, die Ausgabe zu drucken, scheint nur das letzte Element gedruckt zu werden. Ich kann nicht herausfinden, was ich falsch mache.Arraylist druckt nur zuletzt hinzugefügtes Element
Hier ist die Funktion, die die Schlüssel generiert und eine Arraylist zurückgibt: - Sie nimmt ein String-Array von Benutzern als Parameter.
public static ArrayList<User> generateUserKeys(String [] users){
ArrayList <User> usrs = new ArrayList<User>();
KeyPair k;
for (int i=0;i<users.length;i++)
{
k=generateKeyPair();
usrs.add(new User(users[i],k.getPublic(),k.getPrivate()));
System.out.println("User Name is :"+ usrs.get(i).getUserName());
System.out.println("Public Key is :"+ usrs.get(i).getPublicKey());
System.out.println("Private Key is :" + usrs.get(i).getPrivateKey());
}
return usrs;
}
Hier ist, wie ich es bin Tests: -
String [] users =
{"[email protected]","[email protected]","[email protected]","[email protected]"};
ArrayList<User> usrz= generateUserKeys(users);
Iterator<User> itr = usrz.iterator();
while(itr.hasNext())
{
System.out.println(itr.next().getUserName());
}
Der Ausgang ich empfangen habe, ist
[email protected]
[email protected]
[email protected]
[email protected]
Können wir den Benutzer Array sehen? –
Kannst du deine gesamte Ausgabe posten? – Natecat
Hier ist der Array der Benutzercodes 'String [] users = {"[email protected]", "[email protected]", "[email protected]", "tannerh @ tcd.ie "}; –