電子書籍の厳選無料作品が豊富!

配列に格納されている値を用いてグラフを作ろうとしているのですが、
基本的なことでつまづきました。
class ReadFilegraph extends JFrame{

/*public static class DataTable{
Object getCellValue2;

DataTable(Object getCellValue){
this.getCellValue2 = getCellValue;
}
}*/

static final String ID = "/Users/home/java/20160501.xlsx";

public static void main(final String[] args) throws Exception{

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

System.out.println("読み込むデータの日付を入力してください*(例5.1)");
String Date = br.readLine();
System.out.println(Date + "のデータの読み込みを開始します");

try {
FileInputStream fis = new FileInputStream(ID);
Workbook wb = WorkbookFactory.create(fis);
Sheet sheet = wb.getSheet(Date);
Object[][] table = new Object[90][148];
for(int i = 0; i < sheet.getLastRowNum(); i++){
Row row = sheet.getRow(i);
if(row != null){
for(int j = 0; j < row.getLastCellNum(); j++){
Cell cell = row.getCell(j);
if(cell != null){
table[i][j] = getCellValue(cell);
// System.out.print(table[i][j]+" ");
}
}
}

}
System.out.println("");

}catch(Exception e){
e.printStackTrace();
}
ReadFilegraph frame = new ReadFilegraph();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(600, 300, 1000, 600);
frame.setTitle("グラフサンプル");
frame.setVisible(true);
}

ReadFilegraph(){
DefaultCategoryDataset data = new DefaultCategoryDataset();
data.addValue(table[1][3], table[1][2], table[0][0]);
data.addValue(table[1][4], table[1][2], table[0][1]);
data.addValue(table[1][5], table[1][2], table[0][2]);

JFreeChart chart =
ChartFactory.createLineChart("降水量","h:mm","mm)",data,PlotOrientation.VERTICAL,true,false,false);

ChartPanel cpanel = new ChartPanel(chart);
getContentPane().add(cpanel, BorderLayout.CENTER);
}

mainメソッドで使用しているtable[i][j]を使用したところ、tableというシンボルを見つけられないとエラーが出ました。
ReadFilegraphメソッドでも使用する場合はどうすればいいでしょうか?

A 回答 (1件)

tableはmainのtryブロック内のローカル変数なんで


当然別のメソッドからは使えません。

これは基本の基本のキです。

Javaの入門書で、ローカル変数やフィールドについて
よく学んでみて下さい。コードを書くのはそれからでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
無事解決しました^^

お礼日時:2016/12/05 08:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!