首页 > 解决方案 > How can I add a method or make this code so that I am not repeating myself so many times?

问题描述

I have developed this code for a Rick and Morty character quiz and the problem I am now facing is repetition I know my code should not be this redundant and maybe the implementation of a method or something might help especially because that same if statement after every question is the same. but I am not sure how to get started so if anyone could help me clean up and or get rid of all the repeating if statements it would be much appreciated. BTW don't mind the repeating question as I plan to fill that in later. I did, however, number it to show that it changes but again the if statement remains the same.

/* Name: Armaan
 * Date: Saturday, November 23rd, 2019
 * Course: Computer Science
 * Description: Rick and Morty quiz
 */

import hsa.Console;
import java.awt.*;

public class RickandMorty
{
  static Console c;
  public static void main(String[] args)
  { 
    c = new Console();

    character rick = new character();
    rick.selections = 0;
//    rick.description = ("");

    character morty = new character();
       morty.selections = 0;
//    morty.description = ("");

    character summer = new character();
       summer.selections = 0;
//    summer.description = ("");

    character jerry = new character();
       jerry.selections = 0;
//    jerry.description = ("");


       while(rick.selections < 5 && morty.selections < 5 && summer.selections < 5 && jerry.selections < 5){

       c.print("1. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice = c.readString();
       if (choice.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice.equalsIgnoreCase("D")){
       jerry.selections++;
       }


      c.print("2. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice1 = c.readString();
       if (choice1.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice1.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice1.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice1.equalsIgnoreCase("D")){
       jerry.selections++;
       }


        c.print("3. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice2 = c.readString();
       if (choice2.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice2.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice2.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice2.equalsIgnoreCase("D")){
       jerry.selections++;
       }


        c.print("4. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice3 = c.readString();
       if (choice3.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice3.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice3.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice3.equalsIgnoreCase("D")){
       jerry.selections++;
       }


        c.print("5. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice4 = c.readString();
       if (choice4.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice4.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice4.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice4.equalsIgnoreCase("D")){
       jerry.selections++;
       }

   if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

         c.print("6. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice5 = c.readString();
       if (choice5.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice5.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice5.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice5.equalsIgnoreCase("D")){
       jerry.selections++;
       }

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

               c.print("7. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice6 = c.readString();
       if (choice6.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice6.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice6.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice6.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

               c.print("8. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice7 = c.readString();
       if (choice7.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice7.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice7.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice7.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

         c.print("9. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice8 = c.readString();
       if (choice8.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice8.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice8.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice8.equalsIgnoreCase("D")){
       jerry.selections++;
       }

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("10. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice9 = c.readString();
       if (choice9.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice9.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice9.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice9.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("11. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice10 = c.readString();
       if (choice10.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice10.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice10.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice10.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("12. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice11 = c.readString();
       if (choice11.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice11.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice11.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice11.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("13. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice12 = c.readString();
       if (choice12.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice12.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice12.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice12.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

         c.print("14. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice13 = c.readString();
       if (choice13.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice13.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice13.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice13.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

         c.print("15. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice14 = c.readString();
       if (choice14.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice14.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice14.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice14.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("16. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice15 = c.readString();
       if (choice15.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice15.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice15.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice15.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("17. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice16 = c.readString();
       if (choice16.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice16.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice16.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice16.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

        c.print("18. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice17 = c.readString();
       if (choice17.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice17.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice17.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice17.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

       c.print("19. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice18 = c.readString();
       if (choice18.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice18.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice18.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice18.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;

       c.print("20. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
       String choice19 = c.readString();
       if (choice19.equalsIgnoreCase("A")){
       rick.selections++;
       }
       if (choice19.equalsIgnoreCase("B")){
       morty.selections++;
       }
       if (choice19.equalsIgnoreCase("C")){
       summer.selections++;
       }
       if (choice19.equalsIgnoreCase("D")){
       jerry.selections++;
       } 

        if (rick.selections == 5) break;
       if (morty.selections == 5) break;
       if (summer.selections == 5) break;
       if (jerry.selections == 5) break;





       }


  }
}
class character {
  int selections;
  String descprition;


}

标签: java

解决方案


如果你想使用一种方法来减少重复,你可以这样做

    import hsa.Console;
    import java.awt.*;

    public class RickandMorty
    {
      static character rick, morty, summer, jerry;
      static Console c;
      public static void main(String[] args)
      { 
        c = new Console();

        rick = new character();
        rick.selections = 0;
    //    rick.description = ("");

        morty = new character();
           morty.selections = 0;
    //    morty.description = ("");

        summer = new character();
           summer.selections = 0;
    //    summer.description = ("");

        jerry = new character();
           jerry.selections = 0;
    //    jerry.description = ("");


           while(rick.selections <= 5 && morty.selections <= 5 && summer.selections <= 5 && jerry.selections <= 5){

           ask("1. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
           ask("2. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |");
        //.. do this for all your questions. If you want, make an array/arraylist with the questions, and run a loop

        //also, I removed the breaks, because they were redundant. They are already the loop condition





           }


      }
    public static void ask(String q){
           c.print(q);
           String choice = c.readString();
           if (choice.equalsIgnoreCase("A")){
           rick.selections++;
           }
           if (choice.equalsIgnoreCase("B")){
           morty.selections++;
           }
           if (choice.equalsIgnoreCase("C")){
           summer.selections++;
           }
           if (choice.equalsIgnoreCase("D")){
           jerry.selections++;
           }
        }

    }
    class character {
      int selections;
      String descprition;


    }

推荐阅读