J'essaie de créer un jeu dans lequel vous devez vous connecter avec certaines informations d'identification, après quoi l'utilisateur a le choix entre 2 jeux. Je suis capable de coder les jeux mais je suis bloqué à faire l'entrée pour le choix entre les jeux. Toute aide est appréciée! (C'est la toute dernière ligne qui semble ne pas fonctionner, je ne sais pas pourquoi).Création de plusieurs choix pour l'utilisateur
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class SkillsDemo3 {
boolean again = true;
int action;
public static void main(String[] args) throws IOException {
//***************************
//Login
//***************************
class User {
User (String username, String password) {
this.username = username;
this.password = password;
}
String GetUsername() { return username; }
String GetPassword() { return password; }
private String username;
private String password;
}
String greeting = "Hello";
String username;
String password;
// Used to hold the instance of a user who successfully logged in
User loggedInUser = null;
// Create an empty list to hold users
List<User> listOfUsers = new ArrayList<>();
// Add 3 users to the list
listOfUsers.add(new User("Gerry","spintown"));
listOfUsers.add(new User("Evelyn","poker"));
listOfUsers.add(new User("Joan","bonus"));
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("*** Welcome to the program ***\n");
System.out.println(greeting);
System.out.println("Please type your username :");
username = br.readLine();
System.out.println("Please type your password :");
password = br.readLine();
for (User user : listOfUsers) {
if (user.GetUsername().equals(username)) {
if (user.GetPassword().equals(password)) {
loggedInUser = user;
// when a user is found, "break" stops iterating through the list
break;
}
}
}
// if loggedInUser was changed from null, it was successful
if (loggedInUser != null) {
System.out.println("User successfully logged in: "+loggedInUser.GetUsername());
} else {
System.out.println("Invalid username/password combination");
}
//**********************************
//Choice of Games
//**********************************
boolean again = true;
int action = 0;
if (action == 1) {
System.out.println("\nYou have chosen to play Rock, Paper, Scissors");
} else if (action == 2) {
System.out.println("\nYou have chosen to Play pick up sticks");
again = false;
}
SkillsDemo3 what = new SkillsDemo3();
while (what.again) {
System.out.println("Please type 0 to continue or 1 to stop :");
what.action = Integer.parseInt(br.readLine());
System.out.println("You typed : "+what.action);
what.SkillsDemo3();
}
}
}
Votre classe n'est pas seulement formatée de façon illisible, mais elle est mal structurée (par exemple, vous déclarez la classe User dans une méthode). Lisez les types et les expressions Java et la syntaxe ici et vous ne devriez avoir aucun problème pour que cela fonctionne: https://www.tutorialspoint.com/java/java_basic_syntax.htm –
Qu'est-ce que vous essayez d'accomplir sur la dernière ligne? En l'état, vous appelez une méthode non-existante SkillsDemo3() de l'objet SkillsDemo3 quoi. – Jonatan