Я застрял на втором классе нижеприведенного кода. Вы можете взглянуть? Я получаю сообщение об ошибке «незаконный старт типа» для моего цикла while (true). Я не ищу совершенно другой способ сделать код, а больше - решение проблемы, которую у меня есть.Код Java с двумя классами
Вот проблема, которая была дана:
написать программу Java дисплеи государство птиц и цветов. Вы должны использовать свою среду IDE для этого упражнения. Вы также должны использовать классы Java в полной мере, чтобы включить несколько методов и как минимум два класса. Программа должна предложить пользователю ввести государство и распечатать как государственную птицу, так и цветок. Пользователь должен иметь возможность войти в состояние, не беспокоясь о случае. (например, пользователи могут входить в Мэриленд, Мэриленд, Мэриленд или любую другую возможную комбинацию символов нижнего и верхнего регистра. Государства могут также содержать пробелы в верхнем и нижнем пробелах. Совет. Храните информацию о состоянии в многомерном массиве. Программа должна продолжать запрашивать пользователю войти в состояние до «None» не будет введен. Вам нужно будет сделать некоторые исследования, чтобы найти государственные птицы и цветы.
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.");
}
}
}
}
Проверьте баланс открытия и закрытия фигурных скобок в функции 'main'. – yole
Я думаю, что это должно быть 'State4' вместо' state4'. Java чувствительна к регистру. Например: 'State4 inform = new State4();' – Titus
Кроме того, в вашем первом цикле 'for' вы используете некоторые переменные' state4' и 'states4', которые, похоже, не объявлены нигде в этом классе. – Titus