【问题标题】:output from loop issue in java, please help correct thisjava中循环问题的输出,请帮助纠正这个问题
【发布时间】:2015-03-02 02:46:44
【问题描述】:

我的代码提供了我需要的信息,我只需要修改它以正确打印

Texas
Bird: Northern Mockingbird
Flower: Bluebonnet sp.

目前是这样的:

Texas
Bird: Flower: Bluebonnet sp.
Flower: Bird: Northern Mockingbird   

代码:

import java.util.Scanner;

public class StateBirdAndFlowerProgram {

     public static void main(String args[]) {

          // Begin Scanner for user input later on
          Scanner input = new Scanner( System.in );

           //Begin array of information
          String[][] states={
                            {"Alabama", "Flower: Camelia", "Bird: Northern flicker"},
                            {"Alaska", "Flower: Forget-me-not", "Bird: Willow ptarmigan "},
                            {"Arizona", "Flower: Saguaro cactus blossom", "Bird: Cactus wren "},
                            {"Arkansas", "Flower: Apple blossom", "Bird: Northern mockingbird "},
                            {"Califorina", "Flower: Califorina poppy", "Bird: California quail"},
                            {"Colorado", "Flower: Rocky Mountian columbine", "Bird: Lark bunting"},
                            {"Connecticut", "Flower: Mountain laurel ", "Bird: American robin"},
                            {"Delaware", "Flower: Peach blossom", "Bird: Delaware Blue Hen "},
                            {"Florida", "Flower: Orange blossom ", "Bird: Northern mockingbird "},
                            {"Georgia", "Flower: Cherokee rose ", "Bird: Brown thrasher ", },
                            {"Hawaii", "Flower: Hawaiian hibiscus ", "Bird: Nēnē or Hawaiian goose"},
                            {"Idaho", "Flower: Syringa, mock orange ", "Bird: Mountain bluebird  "},
                            {"Illinois", "Flower: Violet ", "Bird: Northern cardinal "},
                            {"Indiana", "Flower: Peony ", "Bird: Northern cardinal "},
                            {"Iowa ", "Flower: Wild prairie rose ", "Bird: Eastern goldfinch "},
                            {"Kansas", "Flower: Sunflower", "Bird: Western meadowlark"},
                            {"Kentucky", "Flower: Goldenrod ", "Bird: Northern cardinal"},
                            {"Louisiana", "Flower: Magnolia ",  "Bird: Brown pelican "},
                            {"Maine", "Flower: White pine cone and tassel ", "Bird: Black-capped chickadee "},
                            {"Maryland", "Flower: Black-eyed susan ", "Bird: Baltimore oriole"},
                            {"Massachusetts", "Flower: Mayflower ", "Bird: Black-capped chickadee "},
                            {"Michigan", "Flower: Apple blossom",  "Bird: American robin "},
                            {"Minnesota", "Flower:Pink and white lady's slipper ","Bird: Common loon"},
                            {"Mississippi", "Flower: Magnolia", "Bird: Northern mockingbird "},
                            {"Missouri", "Flower: Hawthorn", "Bird: Eastern bluebird "},
                            {"Montana", "Flower: Bitterroot ", "Bird: Western meadowlark "},
                            {"Nebraska", "Flower: Goldenrod", "Bird: Western meadowlark"},
                            {"Nevada", "Flower: Sagebrush ", "Bird: Mountain bluebird "},
                            {"New Hampshire ", "Flower: Purple lilac ", "Bird: Purple finch "},
                            {"New Jersey", "Flower: Violet ", "Bird: Eastern goldfinch "},
                            {"New Mexico", "Flower: Yucca flower", "Bird: Roadrunner  "},
                            {"New York", "Flower: Rose", "Bird: Eastern bluebird "},
                            {"North Carolina", "Flower: Flowering dogwood", "Bird: Northern cardinal "},
                            {"North Dakota", "Flower: Wild prairie rose ", "Bird: Western meadowlark "},
                            {"Ohio", "Flower: carlet carnation ", "Bird Northern cardinal: "},
                            {"Oklahoma", "Flower: Oklahoma rose ",  "Bird: Scissor-tailed flycatcher "},
                            {"Oregon", "Flower: Oregon grape ", "Bird: Western meadowlark "},
                            {"Pennsylvania", "Flower: Mountain laurel", "Bird: Ruffed grouse"},
                            {"Rhode Island", "Flower: Violet", "Bird: Rhode Island Red "},
                            {"South Carolina", "Flower: Yellow jessamine ","Bird: Carolina wren", },
                            {"South Dakota ", "Flower: Pasque flower ", "Bird: Ring-necked pheasant"},
                            {"Tennessee", "Flower: Iris", "Bird: Northern mockingbird ",},
                            {"Texas", "Flower: Bluebonnet sp. ", "Bird: Northern mockingbird "},
                            {"Utah", "Flower: Sego lily", "Bird: California gull "},
                            {"Vermont", "Flower: Red clover ", "Bird: Hermit thrush"},
                            {"Virginia", "Flower: American dogwood", "Bird: Northern cardinal"},
                            {"Washington", "Flower: Coast rhododendron", "Bird: Willow goldfinch "},
                            {"West Virginia", "Flower:Rhododendron", "Bird: Northern cardinal "},
                            {"Wisconsin", "Flower: Wood violet ", "Bird: American robin "},
                            {"Wyoming", "Flower: Indian paintbrush ", "Bird: Western meadowlark "}};
          // While loop to search through array
          while(true) {

               // Request user input
               System.out.println("Enter a state: ");
               // Capture user input
               String stateName =input.nextLine();
               // exit statement
               if(stateName.equalsIgnoreCase("None"))
                    // Exit program
                    System.exit(0);

               else {
                    // For loop to search through array
                    for(int row=0,column=0;row<states.length;row++) {
                         // If statement for matching input string to array data
                         if(states[row][0].equalsIgnoreCase(stateName)) {
                              // Print bird information
                              System.out.println("Bird: " + states[row][column+1]);
                              // Print Flower information
                              System.out.println("Flower: " + states[row][column+2] + "\n");

                         } // end if

                    } // end for

               } // end else

          } // end while

     } // end main

} // end class

【问题讨论】:

  • 根据您的数据"Flower: Camelia" 和此示例语句System.out.println("Bird: " + states[row][column+1]); - 您认为输出会是什么...
  • 呃..我现在明白了,该死的我不敢相信我错过了..感谢您的帮助!抱歉,那是我应该很容易看到的东西
  • 从数组中删除 Bird: 和 Flower:,然后在循环中翻转 Bird: 和 Flower:

标签: java loops output


【解决方案1】:

避免将任何输出格式放入原始数据。如果您现在养成检查的习惯,它将节省您在更复杂的程序中的时间。所以就写吧:

{"Montana", "Bitterroot ", "Western meadowlark"}, // removed space at end, too

然后当您打印出来时,您不会打印两次标签。然后只需检查索引号。顺便说一句,当你可以写return 时,避免使用System.exit。祝你好运!

【讨论】:

    【解决方案2】:
    // Print bird information
    System.out.print( states[row][column+2]);
    // Print Flower information
    System.out.println(states[row][column+1] + "\n");
    

    输出看起来像

    Enter a state: 
    New York
    Bird: Eastern bluebird Flower: Rose
    
    Enter a state: 
    New York
    Bird: Eastern bluebird Flower: Rose
    
    Enter a state: 
    None
    

    【讨论】:

      【解决方案3】:
      import java.util.Scanner;
      
      public class StateBird {
      
           public static void main(String args[]) {
      
                // Begin Scanner for user input later on
                Scanner input = new Scanner( System.in );
      
                 //Begin array of information
                String[][] states={
                                  {"Alabama", "Camelia", "Northern flicker"},
                                  {"Alaska", "Forget-me-not", "Willow ptarmigan "},
                                  {"Arizona", "Saguaro cactus blossom", "Cactus wren "},
                                  {"Arkansas", "Apple blossom", "Northern mockingbird "},
                                  {"Califorina", "Califorina poppy", "California quail"},
                                  {"Colorado", "Rocky Mountian columbine", "Lark bunting"},
                                  {"Connecticut", "Mountain laurel ", "American robin"},
                                  {"Delaware", "Peach blossom", "Delaware Blue Hen "},
                                  {"Florida", "Orange blossom ", "Northern mockingbird "},
                                  {"Georgia", "Cherokee rose ", "Brown thrasher ", },
                                  {"Hawaii", "Hawaiian hibiscus ", "Nēnē or Hawaiian goose"},
                                  {"Idaho", "Syringa, mock orange ", "Mountain bluebird  "},
                                  {"Illinois", "Violet ", "Northern cardinal "},
                                  {"Indiana", "Peony ", "Northern cardinal "},
                                  {"Iowa ", "Wild prairie rose ", "Eastern goldfinch "},
                                  {"Kansas", "Sunflower", "Western meadowlark"},
                                  {"Kentucky", "Goldenrod ", "Northern cardinal"},
                                  {"Louisiana", "Magnolia ",  " Brown pelican "},
                                  {"Maine", "White pine cone and tassel ", "Black-capped chickadee "},
                                  {"Maryland", "Black-eyed susan ", "Baltimore oriole"},
                                  {"Massachusetts", "Mayflower ", "Black-capped chickadee "},
                                  {"Michigan", "Apple blossom",  "American robin "},
                                  {"Minnesota", "Pink and white lady's slipper ","Common loon"},
                                  {"Mississippi", "Magnolia", "Northern mockingbird "},
                                  {"Missouri", "Hawthorn", "Eastern bluebird "},
                                  {"Montana", "Bitterroot ", "Western meadowlark "},
                                  {"Nebraska", "Goldenrod", "Western meadowlark"},
                                  {"Nevada", "Sagebrush ", "Mountain bluebird "},
                                  {"New Hampshire ", "Purple lilac ", "Purple finch "},
                                  {"New Jersey", "Violet ", "Eastern goldfinch "},
                                  {"New Mexico", "Yucca flower", "Roadrunner  "},
                                  {"New York", "Rose", "Eastern bluebird "},
                                  {"North Carolina", "Flowering dogwood", "Northern cardinal "},
                                  {"North Dakota", "Wild prairie rose ", "Western meadowlark "},
                                  {"Ohio", "carlet carnation ", "orthern cardinal: "},
                                  {"Oklahoma", "Oklahoma rose ",  "Scissor-tailed flycatcher "},
                                  {"Oregon", "Oregon grape ", "Western meadowlark "},
                                  {"Pennsylvania", "Mountain laurel", "Ruffed grouse"},
                                  {"Rhode Island", "Violet", "Rhode Island Red "},
                                  {"South Carolina", "Yellow jessamine ","Carolina wren", },
                                  {"South Dakota ", "Pasque flower ", "Ring-necked pheasant"},
                                  {"Tennessee", "Iris", "Northern mockingbird ",},
                                  {"Texas", "Bluebonnet sp. ", "Northern mockingbird "},
                                  {"Utah", "Sego lily", "California gull "},
                                  {"Vermont", "Red clover ", "Hermit thrush"},
                                  {"Virginia", "American dogwood", "Northern cardinal"},
                                  {"Washington", "Coast rhododendron", "Willow goldfinch "},
                                  {"West Virginia", "Rhododendron", "Northern cardinal "},
                                  {"Wisconsin", "Wood violet ", "American robin "},
                                  {"Wyoming", "Indian paintbrush ", "Western meadowlark "}};
                // While loop to search through array
                while(true) {
      
                     // Request user input
                     System.out.println("Enter a state: ");
                     // Capture user input
                     String stateName =input.nextLine();
                     // exit statement
                     if(stateName.equalsIgnoreCase("None"))
                          // Exit program
                          System.exit(0);
      
                     else {
                          // For loop to search through array
                          for(int row=0,column=0;row<states.length;row++) {
                               // If statement for matching input string to array data
                               if(states[row][0].equalsIgnoreCase(stateName)) {
                                    // Print bird information
                                    System.out.println("Flower: " + states[row][column+1]);
                                    // Print Flower information
                                    System.out.println("Bird: " + states[row][column+2] + "\n");
      
                               } // end if
      
                          } // end for
      
                     } // end else
      
                } // end while
      
           } // end main
      
      } // end class
      

      【讨论】:

        猜你喜欢
        • 2023-02-26
        • 1970-01-01
        • 1970-01-01
        • 2022-12-17
        • 1970-01-01
        • 1970-01-01
        • 2012-01-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多