如何增加String数组?

时间:2015-05-25 18:55:33

标签: java eclipse

当我尝试自学Java时,我正在写一个基本的小游戏。我试图以最有效的方式做到这一点,并试图避免重复我需要知道每次我的代码循环时如何增加我的String数组。如同,[0] ++或者你要去数组中的下一个String。这可能吗?

 package Base;

 import java.util.Scanner;

 class Game {

public static void main(String[] args){ 

    Data gameData = new Data();



    Scanner input = new Scanner(System.in); 

    int score = 100;
    int x = 50;
    int position = 0;

        System.out.println("Unscramble the state Capitals\n");      
        System.out.println(gameData.Qs[0]);
            // start    


    do
        {

        String Answer = input.nextLine();

    if(!gameData.As[0].equals(Answer))
        {System.out.println(gameData.Hint[0]);
        score = (score-1);
    Answer = input.nextLine();}

    if(!gameData.As[0].equals(Answer))
        {System.out.println("Lansing is the capital of Michigan\n");
        score = (score-1);
        System.out.println(gameData.Qs[1]);}
    else
        {System.out.println("Correct!\n");
        System.out.println(gameData.Qs[1]);}
    x--;}
    while(x>0);
    if(x==0)
        System.out.println("your score is " + score);




}
}
package Base;

public class Data {

    String[] As = new String[50];


    String[] Qs = new String[50];

    String[] Hint = new String[50];



    public String[] getAs() {return As;}

    public String[] getQs() {return Qs;}

    public String[] getHint() {return Hint;}

    {   


    Qs[0] = "NNLSIGA";
    Qs[1] = "INNOAPASL";
    Qs[2] = "BLYNAA";
    Qs[3] = "OAIIDNLPAISN";
    Qs[4] = "HLLSAEAETSA";
    Qs[5] = "NDROOCC";
    Qs[6] = "NOUHLULO";
    Qs[7] = "PIMOYLA";
    Qs[8] = "ERERPI";
    Qs[9] = "AHEENL";
    Qs[10] = "IOEBS";
    Qs[11] = "LAKHMAOO ICTY";
    Qs[12] = "ATAATNL";
    Qs[13] = "POTEAK";
    Qs[14] = "BUCOMSUL";
    Qs[15] = "LNOCLIN";
    Qs[16] = "USINAT";
    Qs[17] = "TALS EKAL YTCI";
    Qs[18] = "NETONRT";
    Qs[19] = "NECTALOHSR";
    Qs[20] = "UAUSTAG";
    Qs[21] = "OSBNOT";
    Qs[22] = "KCANSOJ";
    Qs[23] = "OTASMRACNE";
    Qs[24] = "FFAONTRRK";
    Qs[25] = "ELAIGHR";
    Qs[26] = "NEUJAU";
    Qs[27] = "VREOD";
    Qs[28] = "SFRONJFEE IYTC";
    Qs[29] = "ILUNSTPAA";
    Qs[30] = "VLAHNLISE";
    Qs[31] = "ENRVED";
    Qs[32] = "XPNEIOH";
    Qs[33] = "KABSCMIR";
    Qs[34] = "GBSIRRRAHU";
    Qs[35] = "HRAFDORT";
    Qs[36] = "TNIELOMPER";
    Qs[37] = "ISADMNO";
    Qs[38] = "IENFPLRSDIG";
    Qs[39] = "OAUCIBLM";
    Qs[40] = "CYHNNEEE";
    Qs[41] = "SLMAE";
    Qs[42] = "EONVIRCDEP";
    Qs[43] = "OHRDNIMC";
    Qs[44] = "MGYNTROEOM";
    Qs[45] = "SED SMOEIN";
    Qs[46] = "OCNASR CTIY";
    Qs[47] = "NATOB GROEU";
    Qs[48] = "STAAN EF";
    Qs[49] = "TELLTICKOR";

    As[0] = "Lansing";
    As[1] = "Annapolis";
    As[2] = "Albany";
    As[3] = "Indianapolis";
    As[4] = "Tallahassee";
    As[5] = "Concord";
    As[6] = "Honolulu";
    As[7] = "Olympia";
    As[8] = "Pierre";
    As[9] = "Helena";
    As[10] = "Boise";
    As[11] = "Oklahoma City";
    As[12] = "Atlanta";
    As[13] = "Topeka";
    As[14] = "Columbus";
    As[15] = "Lincon";
    As[16] = "Austin";
    As[17] = "Salt Lake City";
    As[18] = "Trenton";
    As[19] = "Charleston";
    As[20] = "Augusta";
    As[21] = "Boston";
    As[22] = "Jackson";
    As[23] = "Sacramento";
    As[24] = "Frankfort";
    As[25] = "Raleigh";
    As[26] = "Juneau";
    As[27] = "Dover";
    As[28] = "Jefferson City";
    As[29] = "Saint Paul";
    As[30] = "Nashville";
    As[31] = "Denver";
    As[32] = "Phoenix";
    As[33] = "Bismark";
    As[34] = "Harrisburg";
    As[35] = "Hartford";
    As[36] = "Montpelier";
    As[37] = "Madison";
    As[38] = "Springfield";
    As[39] = "Columbia";
    As[40] = "Cheyenne";
    As[41] = "Salem";
    As[42] = "Providence";
    As[43] = "Richmond";
    As[44] = "Montgomery";
    As[45] = "Des Moines";
    As[46] = "Carson City";
    As[47] = "Baton Rouge";
    As[48] = "Santa Fe";
    As[49] = "Little Rock";

    Hint[0] = "Capital of The Great Lakes State";
    Hint[1] = "Capital of The Old Line State";
    Hint[2] = "Capital of The Empire State";
    Hint[3] = "Capital of The Hoosier State";
    Hint[4] = "Capital of The Sunshine State";
    Hint[5] = "Capital of The Granite State";
    Hint[6] = "Capital of The Aloha State";
    Hint[7] = "Capital of The Evergreen State";
    Hint[8] = "Capital of Mount Rushmore State";
    Hint[9] = "Capital of The Treasure State";  
    Hint[10] = "Capital of The Gem State";
    Hint[11] = "Capital of The Sooner State";
    Hint[12] = "Capital of The Peach State";                                
    Hint[13] = "Capital of The Sunflower State";
    Hint[14] = "Capital of The Buckeye State";
    Hint[15] = "Capital of The Cornhusker State";
    Hint[16] = "Capital of The Lone Star State";
    Hint[17] = "Capital of The Beehive State";
    Hint[18] = "Capital of The Garden State";
    Hint[19] = "Capital of The Mountain State";
    Hint[20] = "Capital of The Pine Tree State";        
    Hint[21] = "Capital of The Bay State";
    Hint[22] = "Capital of The Magnolia State";
    Hint[23] = "Capital of The Golden State";
    Hint[24] = "Capital of The Bluegrass State";
    Hint[25] = "Capital of The Tar Heel State";
    Hint[26] = "Capital of The Last Frontier";
    Hint[27] = "Capital of The First State";
    Hint[28] = "Capital of The Show Me State";
    Hint[29] = "Capital of The North Star State";
    Hint[30] = "Capital of The Volunteer State";
    Hint[31] = "Capital of The Centennial State";
    Hint[32] = "Capital of The Grand Canyon State";
    Hint[33] = "Capital of The Peace Garden State";
    Hint[34] = "Capital of The Keystone State";
    Hint[35] = "Capital of The Constitution State";
    Hint[36] = "Capital of The Green Mountain State";
    Hint[37] = "Capital of The Badger State";
    Hint[38] = "Capital of Prairie State";
    Hint[39] = "Capital of The Palmetto State";
    Hint[40] = "Capital of The Equality or Cowboy State";
    Hint[41] = "Capital of The Beaver State";
    Hint[22] = "Capital of The Ocean State";
    Hint[43] = "Capital of The Old Dominion State";
    Hint[44] = "Capital of Yellowhammer State";
    Hint[45] = "Capital of The Hawkeye State";
    Hint[46] = "Capital of The Silver State";
    Hint[47] = "Capital of The Pelican State";
    Hint[48] = "Capital of The Land of Enchantment";
    Hint[49] = "Capital of The Natural State";



}
}

2 个答案:

答案 0 :(得分:1)

您需要创建对当前数组元素的引用。例如。 int current = 0;

然后用每个数组循环递增当前值:current ++;

您可以使用Qs [current];

引用数组元素

答案 1 :(得分:0)

我建议引入变量

private Integer hintCounter = 0;

将getHint更改为此,

public String getHint() {
    return Qs[hintCounter];
}

然后在调用方法后立即在代码中递增你的hintCounter。此外,您不应该对数组值进行硬编码,您应该使用文本文件并执行一些基本的IO将它们添加到数组中。