je les deux catégories suivantes:ma classe Java addUserToTheList() ne fonctionne pas
import java.io.*;
import java.util.*;
public class User {
public static String nickname;
public static String ipAddress;
public static ArrayList<String> listOfFiles;
public static File sharedFolder;
public static String fileLocation;
public User(String nickname, String ipAddress, String fileLocation) {
this.nickname = nickname.toLowerCase();
this.ipAddress = ipAddress;
Scanner userTyping = new Scanner(System.in);
fileLocation = userTyping.nextLine();
sharedFolder = new File(fileLocation);
}
public static List<String> fileList() {
File[] files = sharedFolder.listFiles();
listOfFiles = new ArrayList<String>();
for (int i = 0; i < files.length; i++) {
listOfFiles.add(i, files[i].toString().substring(fileLocation.length()));
System.out.println(listOfFiles.get(i));
}
return listOfFiles;
}
@Override
public String toString() {
return nickname + " " + ipAddress;
}
}
et la suivante: méthode
import java.util.*;
public class UserCollector {
static List<User> allUsers;
public static void addUserToTheList() {
Scanner keyboardInput = new Scanner(System.in);
System.out.println("Type nickname: ");
String nickname = keyboardInput.nextLine();
System.out.println("Type IP: ");
String ipAddress = keyboardInput.nextLine();
System.out.println("Type File Location: ");
String fileLocation = keyboardInput.nextLine();
System.out.println("User that is attempting to log in is: "+ nickname + " and his IP is: " + ipAddress);
User inputUser = new User(nickname, ipAddress, fileLocation);
allUsers = new ArrayList<User>();
if (keyboardInput.nextLine().equalsIgnoreCase("INSERT") && !allUsers.contains(inputUser)) {
allUsers.add(inputUser);
System.out.println("User has been successfully added to your list.");
}
else
System.out.println("This user already exists on the list!");
}
public static void currentStateOfTheList() {
for (User u : allUsers) {
System.out.println("nick: "+u.nickname +", ip: "+ u.ipAddress);
}
}
public static void main(String[] args) {
UserCollector.addUserToTheList();
UserCollector.currentStateOfTheList();
}
}
Maintenant, l'idée du addUserToTheList() est simple. Ajoutez des objets de type User dans ArrayList. Et faites-le en tapant nickname, ipAddress et fileLocation dans la console. La première fois que je l'ai couru, ça a bien fonctionné mais ça a jeté une Exception (NullPointer). Maintenant, quand je l'exécute, il compile bien mais il dit que j'ai déjà cet utilisateur dans la liste bien que je donne toujours un pseudo différent/ipAddress/fileLocation.
Je crois qu'il y a quelque chose qui cloche avec l'objet Utilisateur qui reste probablement le même chaque fois que j'essaie de l'exécuter.
J'espère que quelqu'un m'aide. Merci
vous continuez d'utiliser le mot-clé 'static'. Tu sais ce que ça veut dire? –
Il y a trop de code ici. Je crains que vous ayez à faire plus de lecture et de débogage pour que votre question se résume à une question concrète. – bmargulies
Je crois que ma question est concrète. Si je connaissais un autre moyen (plus court) de poser cette question, je l'aurais choisi :) – AmateurProgrammer