Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Exception in thread \"main\" java.lang.StringIndexOutOfBoundsException: String i

ID: 3648823 • Letter: E

Question


Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 15
public void loadData (String filename) throws IOException
{
FileInputStream fis1 = new FileInputStream ("States.Fall2012.txt"); //creates file input object
BufferedReader br1 = new BufferedReader(new InputStreamReader(fis1));

String state;
String Capital;
String Region;
int Nbr;
int Population;
String Abrev;

String inputString;
inputString = br1.readLine();
while (inputString != null)
{ // begin while


state = inputString.substring (0,15).trim();
Capital = inputString.substring (15,30).trim();
Abrev = inputString.substring (30,32).trim();
Population = Integer.parseInt(inputString.substring(32,40).trim());
Region = inputString.substring (40,55).trim();
Nbr = Integer.parseInt (inputString.substring(55,56));


mystates [nElems] = new State (state, Capital, Abrev, Population, Region, Nbr);
nElems++; //increment size
inputString = br1.readLine();
} // end while
br1.close();


} //End build array


Texas Austin TX19759614Southwest 5
New_Mexico Santa_Fe NM 1736931Southwest 5
Arizona Phoenix AZ 4668631Southwest 5
Washington Olympia WA 5689263West 6
Oregon Salem OR 3281974West 6
Massachusetts Boston MA 6147132New_England 1
Connecticut Hartford CT 3274069New_England 1
Rhode_Island Providence RI 988480New_England 1
New_York Albany NY18146200Middle_Atlantic2
Pennsylvania Harrisburg PA12001451Middle_Atlantic2
New_Jersey Trenton NJ 8115011Middle_Atlantic2
Maryland Annapolis MD 5134808Middle_Atlantic2
West_Virginia Charleston WV 1811156Middle_Atlantic2
Delaware Dover DE 743603Middle_Atlantic2
Virginia Richmond VA 6791345Middle_Atlantic2
North_Carolina Raleigh NC 7546493South 3
South_Carolina Columbia SC 3835962South 3
Tennessee Nashville TN 5430621South 3
Maine Augusta ME 1244250New_England 1
Vermont Montpelier VT 588632New_England 1
New_Hampshire Concord NH 1185048New_England 1
Georgia Atlanta GA 7642207South 3
Florida Tallahassee FL14915980South 3
Alabama Montgomery AL 4351999South 3
Mississippi Jackson MS 2752092South 3
Arkansas Little_Rock AR 2538303South 3
Louisiana Baton_Rouge LA 4368967South 3
Kentucky Frankfort KY 3936499South 3
Ohio Columbus OH 3346713Midwest 4
Michigan Lansing MI 9817242Midwest 4
Indiana Indianapolis IN 5899195Midwest 4
Illinois Springfield IL12045326Midwest 4
Wisconsin Madison WI 5223500Midwest 4
Minnesota St_Paul MN 4725419Midwest 4
Iowa Des_Moines IA 2862447Midwest 4
Missouri Jefferson_City MO 5438559Midwest 4
North_Dakota Bismark ND 638244Midwest 4
South_Dakota Pierre SD 738171Midwest 4
Nebraska Lincoln NE 1662719Midwest 4
Kansas Topeka KS 2629067Midwest 4
Oklahoma Oklahoma_City OK 3346713Southwest 5
California Sacramento CA32182118West 6
Idaho Boise ID 1228684West 6
Montana Helena MT 880453West 6
Wyoming Cheyenne WY 480907West 6
Nevada Carson_City NV 1746898West 6
Utah Salt_Lake_City UT 2099758West 6
Colorado Denver CO 3970971West 6
Alaska Juno AK 614010West 6
Hawaii Honolulu HI 1193001West 6

Explanation / Answer

state = inputString.substring (0,15).trim();
Capital = inputString.substring (15,30).trim();
Abrev = inputString.substring (30,32).trim();
Population = Integer.parseInt(inputString.substring(32,40).trim());
Region = inputString.substring (40,55).trim();
Nbr = Integer.parseInt (inputString.substring(55,56));

one of above sbustring method calling that excpetion....