如何从不同的方法中选择数组列表中的大小写

时间:2013-10-20 18:25:50

标签: java arrays if-statement

我目前在java中制作悬挂式游戏,我在一种方法中按困难组织单词列表,然后在另一种方法中,我有一个if语句,询问用户想要玩哪种难度。我该怎么做呢?我的代码如下:

public static int word(){
 String words[] = new String[26];
    switch(diff){
    case 1:
      words[0] = "cat";
      words[1] = "dog";
      words[2] = "book";          
      words[3] = "breakfeast";          
      words[4] = "telephone";          
      words[5] = "mixture";          
      words[6] = "music";          
      words[7] = "animal";          
      words[8] = "school";          
      words[9] = "plant";          
      words[10] = "pen";          
      words[11] = "pencil";          
      words[12] = "paper";          
      words[13] = "note";          
      words[14] = "fog";          
      words[15] = "smoke";        
      words[16] = "bake";          
      words[17] = "alone";          
      words[18] = "drive";          
      words[19] = "town";          
      words[20] = "city";          
      words[21] = "sunny";          
      words[22] = "shine";          
      words[23] = "polish";          
      words[24] = "cap";          
      words[25] = "hat";

      break;
    case 2:
      words[0] = "president";
      words[1] = "exclamation";          
      words[2] = "statement";          
      words[3] = "television";          
      words[4] = "physics";          
      words[5] = "algebra";          
      words[6] = "geometry";          
      words[7] = "difficult";          
      words[8] = "extreme";          
      words[9] = "procedure";          
      words[10] = "ship";          
      words[11] = "soldier";          
      words[12] = "lunch";          
      words[13] = "hockey";          
      words[14] = "tennis";          
      words[15] = "soccer";          
      words[16] = "football";          
      words[17] = "basketball";          
      words[18] = "bias";          
      words[19] = "magazine";          
      words[20] = "computer";          
      words[21] = "internet";          
      words[22] = "allegedly";          
      words[23] = "system";          
      words[24] = "unison";          
      words[25] = "excited";         
      break;
    case 3:
      words[0] = "amalgamation";          
      words[1] = "proclomation";          
      words[2] = "establishment";          
      words[3] = "rehabilitation";          
      words[4] = "rhinoceros";          
      words[5] = "velociraptor";         
      words[6] = "declaration";         
      words[7] = "announcement";          
      words[8] = "binomial";          
      words[9] = "polynomial";          
      words[10] = "congregation";          
      words[11] = "obligation";          
      words[12] = "structure";          
      words[13] = "description";          
      words[14] = "perscription";          
      words[15] = "subscribe";          
      words[16] = "address";          
      words[17] = "township";          
      words[18] = "mischievous";          
      words[19] = "bewildered";          
      words[20] = "accusation";          
      words[21] = "designation";          
      words[22] = "disgusting";          
      words[23] = "prolonged";          
      words[24] = "restoration";          
      words[25] = "regeneration";          
  }

int i = words.length;

Random rng = new Random();     //This block of code chooses random word from array list
int choice = rng.nextInt(words.length); //Varible storing random word
String wd = words[choice];
out.println(wd);
}



public static int gameStart(){
    Scanner qwe = new Scanner(in);
    out.println("Welcome to my Hang Man game!\n");
    out.println("What difficulty would you like to play on?\t1-3");
    int diff = qwe.nextInt();

    if (diff == 1){
        //not sure what would go here
    }
    else if (diff == 2){
        //not sure what would go here
    }
    else{
        //not sure what would go here
    }


}

2 个答案:

答案 0 :(得分:2)

  1. 将每个难度的单词存储在单独的文本文件中。
  2. 创建一个方法String[] getWords(int difficulty),该方法会返回从给定难度的文件加载的单词列表。
  3. 不要在一种方法中混合处理程序不同方面的代码 - 就像在word()方法中所做的那样。创建单词列表,选择随机单词并在屏幕上显示它听起来像3个不同的方面。这意味着大约3种方法。

答案 1 :(得分:0)

您需要在word()方法上使用参数,并且需要将该方法中的单词作为字符串(而不是int)返回。例程的其余部分(case语句和随机单词选择)都没问题,所以我没有在下面复制。也许是这样的:

public static String word(int diff) {
    ....
    return wd;
}

然后在你拥有if块的地方,你不需要if块,只需将难度传递给例程。类似的东西:

String myWord = word(diff);