![](/img/trans.png)
[英]How can I mix the method so that all factors are display? I am missing one more factor
[英]How can I add a method or make this code so that I am not repeating myself so many times?
我已經為 Rick and Morty 角色測驗開發了這段代碼,我現在面臨的問題是重復我知道我的代碼不應該是多余的,也許方法或某些東西的實現可能會有所幫助,特別是因為每個問題后都有相同的 if 語句是一樣的。 但我不知道如何開始,所以如果有人能幫我清理和/或擺脫所有重復的 if 語句,我將不勝感激。 順便說一句,不介意重復的問題,因為我打算稍后填寫。 但是,我確實對其進行了編號以表明它發生了變化,但 if 語句仍然保持不變。
/* 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;
}
如果你想使用一種方法來減少重復,你可以這樣做
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;
}
由於唯一不同的是 20 個問題的文本,因此使用問題文本創建一個數組,並迭代該數組:
public class RickandMorty {
private static final String[] QUESTIONS = {
"1. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"2. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"3. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"4. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"5. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"6. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"7. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"8. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"9. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"10. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"11. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"12. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"13. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"14. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"15. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"16. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"17. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"18. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"19. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
"20. Pick a fear | A Responsibility | B Spiders | C Death | D Being Alone |",
};
private character rick = new character();
private character morty = new character();
private character summer = new character();
private character jerry = new character();
public static void main(String[] args) {
new RickandMorty().run();
}
private void run() {
Console c = new Console();
OUTER: for (;;) {
for (String question : QUESTIONS) {
c.print(question);
String choice = c.readString();
if (choice.equalsIgnoreCase("A")) {
rick.selections++;
if (rick.selections == 5) break OUTER;
}
if (choice.equalsIgnoreCase("B")) {
morty.selections++;
if (morty.selections == 5) break OUTER;
}
if (choice.equalsIgnoreCase("C")) {
summer.selections++;
if (summer.selections == 5) break OUTER;
}
if (choice.equalsIgnoreCase("D")) {
jerry.selections++;
if (jerry.selections == 5) break OUTER;
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.