我被困在下面代码的第二类。你能看看吗?我收到错误消息,“非法启动类型”为我的“while(true)”循环。我不是在寻找一种完全不同的方式来编写代码,而是解决我遇到的问题。
这是给出的问题:
编写一个Java程序,显示State bird and flower。您应该使用IDE进行此练习。您还应该完全使用Java类来包含多个方法和至少两个类。该程序应提示用户进入州并打印州鸟和花。用户应该能够进入一个州而不必担心案件。 (例如,用户可以输入马里兰州,马里兰州,马里兰州或任何其他可能的小写和大写字符组合。状态也可能包含前导和尾随空格。提示:将状态信息存储在多维数组中。程序应继续提示用户输入状态直到输入“无”。你需要做一些研究才能找到州鸟和花。
public class State4 {
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 State4(){
}
public String[][] getState() {
return state;
}
public void setState(String[][] state) {
this.state = state;
}
}
//这是第二堂课
import java.util.Scanner;
public class TestState4 {
public static void main(String[] args){
int position = -1;
boolean found = false;
//Negating Case Sensitivity
//same length and corresponding characters in the two strings are equal ignoring case
for(int i=0;i<state4.length && !found;i++){
if(states4[i][0].equalsIgnoreCase(state))
position=i;
}
return position;
}
Scanner input = new Scanner(System.in);
state4 inform = new state4();
String states[][] =inform.getState();
while(true){
System.out.println("Enter a State or 'None' to exit:");
String state = input.next();
if(state.equalsIgnoreCase("None")){
System.exit(0);
}
else{
int position = getInfo(stateData, stateName);
if(position != -1){
System.out.println("Bird: " + stateData[position][1]);
System.out.println("Flower: " + stateData[position][2] + "\n\n");
}
else{
System.out.println("Please try again, an invalid State was entered.");
}
}
}
}
答案 0 :(得分:0)
您的问题,可能在这里
for(int i=0;i<state4.length && !found;i++) {
if(states4[i][0].equalsIgnoreCase(state))
position=i;
}
return position;
}
答案 1 :(得分:0)
你不能使用input.next(),你应该输入.nextLine()因为某些状态包含2个单词,下面是基于你的请求的解决方案,希望这可以帮助
java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer