Hello, So, I’m not sure what’s wrong with my code. I know I am missing something
Hello, So, I’m not sure what’s wrong with my code. I know I am missing something. My code is below:
/**
* File: StateData.java
* Author: Lutz, Zechariah
* Date: 6 October 2019
* Purpose: Class to display State info. Class 1 of 3
*/
public class StateData {
public String[][] states = {
{"California" , "California Quail" , "California Poppy"} ,
{"Oregon" , "Western Meadowlark" , "Oregon Grape"} ,
{"Washington" , "American Goldfinch" , "Pacific Rhododendron"}};
public StateData() {
}
public String[][] getStates() {
return states;
}
public void setStates(String[][] states){
this.states = states;
}
}
/**
* File: StateDataSummary.java
* Author: Lutz, Zechariah
* Date: 6 October 2019
* Purpose: Define getter and setter methods for data. Class 2 of 3
*/
public class StateDataSummary {
private String stateName;
private String stateBird;
private String stateFlower;
public StateDataSummary(String stateName, String stateBird, String stateFlower) {
this.stateName = stateName;
this.stateBird = stateBird;
this.stateFlower = stateFlower;
}
public String getStateName() {
return stateName;
}
public String getStateBird() {
return stateBird;
}
public String getStateFlower() {
return stateFlower;
}
public void setStateName(String stateName) {
this.stateName = stateName;
}
public void setStateBird(String stateBird) {
this.stateBird = stateBird;
}
public void setStateFlower(String stateFlower) {
this.stateFlower = stateFlower;
}
}
/**
* File: TestStateData.java
* Author: Lutz, Zechariah
* Date: 6 October 2019
* Purpose: Test for StateData class; prompts user to input state
* and will print state flower and bird, Class 3 of 3
*/
import java.util.Scanner;
import java.util.ArrayList;
public class TestStateData {
public static void main(String[] args) {
ArrayList<StateDataSummary> state1 = new ArrayList<>();
StateData info = new StateData();
String[][] states = info.getStates();
Scanner input = new Scanner(System.in);
int stateCount = 0;
while (true) {
System.out.println("Enter a state or 'None' to exit: ");
String state = input.nextLine();
if (state.trim().equalsIgnoreCase("None")) {
if (stateCount == 0) {
break;
}
System.out.println("****Thank You****");
System.out.println("Here's a summary report of each State, Flower, and Bird: ");
for (StateDataSummary st : state1) {
System.out.println(st.toString());
}
System.out.println("\nPlease visit our site again!");
break;
} else {
int index = getStatesIndex(state , states);
if (index != -1) {
System.out.println("\n");
System.out.println("State" + getStateData(index , states));
System.out.println("State Flower: " + getStateFlower(index , states));
System.out.println("State Bird: " + getStateBird(index , states));
state1.add(new StateDataSummary(getStateData(index , states) , getStateFlower(index , states) , getStateBird(index , states)));
} else {
System.out.println("Not available. Please try again: \n");
}
stateCount ++;
}
}
input.close();
}
private static int getStatesIndex (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 getStateData (int index, String[][] states){
return states[index][0];
}
private static String getStateFlower (int index, String[][] states){
return states[index][1];
}
private static String getStateBird (int index, String[][] states){
return states[index][2];
}
}
Thanks.