存储用户输入的数据

时间:2015-10-31 14:46:43

标签: java

我无法想出一种方法来存储我想从用户那里获得的信息,然后在方法结束时返回相同的统计信息。所讨论的问题是反复询问用户命名动物以及有多少所述动物留在野外。然后我希望我的程序存储这些输入而不创建几百个变量(问题的问题),然后在循环终止时打印最不危险的动物。

如果我要问的不清楚,这里是导致我麻烦的代码片段:

while (!animals.equalsIgnoreCase("Exterminate"))

{

   animals = input("Name an animal");

   if (animals.equalsIgnoreCase("EXTERMINATE"))

   {

    print("The least endangered animal is " + animals);

    print("There are still " + numberAnimals + " left in the wild");

    break;

   }

   else

   {

    remaining = input("How many are left in the wild?");

    numberAnimals = Integer.parseInt(remaining);

   }   

}

我知道数组可能会解决这个问题,但我不明白我是如何在while循环中实现的。

编辑:我的问题的本质是试图找到一种方法在循环结束时打印最不危险的动物,因为,就目前而言,终止代码'灭绝'被打印而不是动物

1 个答案:

答案 0 :(得分:0)

你只需要不断更新两个变量,1个变量用于保持用户目前输入的最大动物数量,1个变量用于保持动物名称的最大数量:

    String animals = input("Name an animal");

    int numberAnimals;
    int maxNumAnimals = Integer.MIN_VALUE; // initialize as the smallest int value

    String leastEndangeredAnimal = "";
    while (!animals.equalsIgnoreCase("Exterminate")) {
            remaining = input("How many are left in the wild?");
            numberAnimals = Integer.parseInt(remaining);
            if (maxNumAnimals < numberAnimals) {
                maxNumAnimals = numberAnimals;
                leastEndangeredAnimal = animals;
            }
        animals = input("Name an animal");
    }

    print("The least endangered animal is " + leastEndangeredAnimal);

    print("There are still " + maxNumAnimals + " left in the wild");