![](/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.