I am building a java project in Netbeans. I got my data file (temperature.txt) that contains the high and low temp in the format (low)|(high) .The file should load into 2 dimensional array and then print it to the screen. But when I run my java project, I came across this error and am completely lost. But i don't know how to fix this problem.
Temperature.text:
+-------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Day | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
+-------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Temperature | 30|32 | 29|30 | 25|28 | 25|29 | 27|31 | 28|32 | 26|30 | 24|32 | 24|41 | 27|32 |
+-------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
Output:
Analysis report of the temperature reading for the past 10 days
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Lab4Ex2.main(Lab4Ex2.java:48)
C:\Users\User\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
Here is my code:
import java.util.StringTokenizer;
import java.io.*;
public class Exercise {
public static void main(String[] args) {
StringTokenizer tokenizer;
String line;
String file="temperature.txt";
int[][] temp=new int[10][2];
int sumHigh, sumLow;
FileReader fr=null;
BufferedReader br=null;
try
{
fr=new FileReader(file);
br=new BufferedReader(fr);
line=br.readLine();
System.out.println("Analysis report of the temperature reading for the past 10 days " + line);
String [] content=line.split("|");
for(int row=0; row<=content.length; row++)
{
//I am trying to parse the two token into integer..
if(row != 0)
{
try
{
//Parse first token into integer and store in current row column 0
if(row % 2 != 0)
{
sumLow = Integer.parseInt(content[row]);
temp[row][0]=Integer.parseInt(content[row]); <---Line 48
}
//Parse second token into integer and store in current row column 0
else if (row % 2 == 0)
{
sumHigh = Integer.parseInt(content[row]);
temp[row][1]=Integer.parseInt(content[row]);
}
}
catch(NumberFormatException e)
{
System.out.println("The code throws an exception");
}
}
System.out.println();
}
br.close();
}
catch(FileNotFoundException e)
{
System.out.println("The file " + file + " was not found");
}
catch(IOException e)
{
System.out.println("Reading error");
}
catch(NumberFormatException e)
{
System.out.println("Parsing error");
}
finally
{
if(fr != null)
{
try
{
fr.close();
}
catch(IOException e)
{
System.out.println("Reading error");
}
}
}
}
}