Je travaille sur un programme et j'ai rencontré un problème d'exécution. Le programme fonctionne, mais après avoir choisi le film et l'avoir évalué, il est supposé donner la note moyenne et revenir au début et laisser l'utilisateur choisir un autre film. Au lieu de cela, il va à la déclaration par défaut (else). Après cela, il permet à l'utilisateur de choisir un autre film. J'ai essayé de le réécrire plusieurs fois, mais ça continue à montrer ce problème, qu'est-ce que je fais de mal? Comment puis-je le réparer?Programme Java simple
import java.text.DecimalFormat;
import java.util.Scanner;
public class movie {
Scanner s1=new Scanner(System.in);
private String movielist, movie;
private double userR;
public String pg="rated PG-13", r="rated R";
public String rate="Rate this movie 1-5, 1 being terrible and 5 great";
public String crm1="Score 1 2 3 4 5\n# of Raters 1 3 1 3 12",crm2="Score 1 2 3 4 5\n# of Raters 4 2 4 6 4", crm3="Score 1 2 3 4 5\n# of Raters 3 0 5 5 7";
DecimalFormat userR1=new DecimalFormat("#.#");
public String m1(){
System.out.println("\nChoose one of the following movies\nJurassic Park, Identity Theft, The Dark Night");
movielist=s1.nextLine();
if(movielist.equalsIgnoreCase("Jurassic Park"))
{
System.out.println("Jurassic Park is "+pg+"\nCritics rated this movie: \n"+crm1+"\n"+rate);
userR=s1.nextDouble();System.out.println("With your rating, the average rating for this movie is: "+(userR1.format((82+userR)/21)));
}
else if(movielist.equalsIgnoreCase("Identity Theft"))
{
System.out.printf("Identity Theft is "+r+"\nCritics rated this movie: \n"+crm2+"\n"+rate);
userR=s1.nextDouble();
System.out.println("With your rating, the average rating for this movie is: "+(userR1.format((68+userR)/21)));
}
else if(movielist.equalsIgnoreCase("The Dark Night"))
{
System.out.printf("The Dark Night is "+pg+"\nCritics rated this movie: \n"+crm3+"\n"+rate);
userR=s1.nextDouble();
System.out.println("With your rating, the average rating for this movie is: "+(userR1.format((73+userR)/21)));
}
else
{
System.out.println("No movie with that name found, make sure your spelling is correct.");
}
return m1();
}
}
Je vais essayer d'ajouter une image de ce qui se passe dès que j'ai plus de réputation. – user2005617