需要将结果摘要添加到java程序

时间:2017-07-09 21:56:01

标签: java summary

一旦用户输入" none"我需要知道如何编写结果摘要。退出程序。下面是我到目前为止的完整作业和代码。

分配: 编写一个Java程序,显示State bird and flower。您应该使用IDE进行此练习。您还应该完全使用Java类来包含多个方法和至少两个类。该程序应提示用户进入州并打印州鸟和花。用户应该能够进入一个州而不必担心案件。 (例如,用户可以输入马里兰州,马里兰州,马里兰州或任何其他可能的小写和大写字符组合。状态也可能包含前导和尾随空格。提示:将状态信息存储在多维数组中。程序应继续提示用户进入状态,直到输入“无”。用户输入所有状态后,程序应显示结果摘要。您需要做一些研究才能找到州鸟和花。是一个样本运行:

    Enter a State or None to exit:
      Maryland
      Bird: Baltimore Oriole
      Flower: Black-eyed Susan
      Enter a State or None to exit:
      Delaware
      Bird: Blue Hen Chicken
      Flower: Peach Blossom
      Enter a State or None to exit:
      None
**** Thank you *****
A summary report for each State, Bird, and Flower is: Maryland, Baltimore Oriole, Black-eyed Susan Delaware, Blue Hen Chicken, Peach Blossom
Please visit our site again!

//代码:

public class StatesDataEntry {

   private String state [][] = {
        {"ALABAMA","Nothern Flicker","Camellia"},
        {"ALASKA","Willow Ptarmigan","Forget-me-not"},
        {"ARIZONA","Cactus Wren","Saguaro Cactus Blossom"},
        {"ARKANSAS","Mockingbird","Apple Blossom"},
        {"CALIFORNIA","California Quail","California Poppy"},
        {"COLORADO","Lark Bunting","Rocky Mountain Columbine"}, 
        {"CONNECTICUT","American Robin","Mountain Laurel"},
        {"DELAWARE","Blue Hen","Peach Blossom"},
        {"FLORIDA","Northern Mockingbird","Orange Blossom"},
        {"GEORGIA","Brown Thrasher","Azalea"},
        {"HAWAII","Hawaiian Goose","Hawaiian Hibiscus"},
        {"IDAHO","Mountain Bluebird","Mock Oragnge"},
        {"ILLINOIS","Northern Cardinal","Violet"},
        {"INDIANA","Cardinal","Peony"},
        {"IOWA","Eastern Goldfinch","Iowa"},
        {"KANSAS","Western Meadowlark","Sunflower"},
        {"KENTUCKY","Northern Cardinal","Goldenrod"},
        {"LOUISIANA","Brown Pelican","Magnolia"},
        {"MAINE","Black-capped Chickadee","White Pine Cone and Tassel"},
        {"MARYLAND","Baltimore Oriole","Black-eyed Susan"},
        {"MASSACHUSETTS","Black-capped Chickadee","Mayflower"},
        {"MICHIGAN","American Robin","Apple Blossom"},
        {"MISSISSIPPI","Northern Mockingbird","Magnolia"},
        {"MISSOURI","Eastern Bluebird","Hawthorn (flower)"},
        {"MONTANA","Western Meadowlark","Bitterroot"},
        {"NEBRASKA","Western Meadowlark","Goldenrod"},
        {"NEVADA","Mountain Bluebird","Sagebrush"},
        {"NEW HAMPSHIRE","Purple Finch","Purple Lilac"},
        {"NEW JERSEY","Eastern Goldfinch","Violet"},
        {"NEW MEXICO","Roadruner","Yucca Flower"},
        {"NEW YORK","Eastern Bluebird","Rose"},
        {"NORTH CAROLINA","Northern Cardinal","Flowering Dogwood"},
        {"NORTH DAKOTA","Western Meadowlark","Wild Prairie Rose"},
        {"OHIO","Northern Cardinal","Scarlet Carnation"},
        {"OKLAHOMA","Scissor-tailed Flycatcher","Oklahoma Rose"},
        {"OREGON","Western Meadowlark","Oregon Grape"},
        {"RHODE ISLAND","Rhode Island Red","Violet"},
        {"SOUTH CAROLINA","Carolina Wren","Yellow Jessamine"},
        {"SOUTH DAKOTA","Ring-necked Pheasant","Pasque Flower"},
        {"TENNESSEE","Nothern Mockingbird","Iris"},
        {"TEXAS","Northern Mockingbird","Bluebonnet"},
        {"UTAH","California Gull","Sego Lily"},
        {"VERMONT","Hermit Thrush","Red Clover"},
        {"VIRGINIA","Northern Cardinal","American Dogwood"},
        {"WASHINGTON","Willow Goldfinch","Coast Rhodedendron"},
        {"WEST VIRGINIA","Northern Cardinal","Rhodedendrom"},
        {"WISCONSIN","American Robin","Wood Violet"},
        {"WYONMING","Western Meadolark","Indian Paintbrush"},
    };

   public StatesDataEntry(){

   }
   public String[][] getState() {
       return state;
   }
   public void setState(String[][] state) {
       this.state = state;
   }


}

//second class
import java.util.Scanner;

public class TestStatesDataEntry {

public static void main(String[] args) {
    StatesDataEntry inform = new StatesDataEntry();
    String states[][] = inform.getState();
    Scanner input = new Scanner(System.in);

    while (true) {
        System.out.println("Enter a State or 'None' to exit:");

        String state = input.nextLine();

        if (state.trim().equalsIgnoreCase("None")) {
            break;
        } 
        else {
            int index = getStateIndex(state, states);
            if (index != -1) {
                System.out.printf("Bird: %s \nFlower: %s \n",
                        getBird(index, states), getFlower(index, states));
            } 
        else {
                System.out
                        .println("Please try again, an invalid State was entered.");
            }
        }
    }
    input.close();
}

private static int getStateIndex(String state, String[][] states) {
    for (int i = 0; i < states.length; i++) {
        if (state.trim().equalsIgnoreCase(states[i][0])) {
            return i;
        }
    }
    return -1;
}

private static String getBird(int index, String[][] states) {
    return states[index][1];
}

private static String getFlower(int index, String[][] states) {
    return states[index][2];
    }
}

1 个答案:

答案 0 :(得分:0)

如果您仍然不相信上述评论,您可以简单地存储当用户在另一个集合数组/列表中输入状态时获得的索引,并在最后迭代它们并打印。如果使用HashaMap,存储键而不是索引,则同样适用。或者,如果您使用对象将它们存储在列表中并在最后打印。