2016-04-09 22 views
0

Bilgisayar bilimi sınıfım için bir hava durumu işlemci atama yapıyorum ve kodun bir parçasıyla ilgili bir sorun yaşıyorum. Soruna nasıl yaklaşacağımı bilmiyorum, bu yüzden herhangi bir yardım harika olurdu.Yöntem, tür için tanımsız?

import java.util.*; 
import java.util.GregorianCalendar; 

public class Info { 

    Object data; 
    String weatherRecord[][][] = new String[0][0][0]; 
    int index = 0; 
    int HIGHS, LOWS, WIND, GUST, PRECIP; 

    public void weatherData() { 
     data = data; 
    } 

    final String[] locationNames = {"Eagle, NE", "New York, NY", "Houston, TX", "Los Angeles, CA"}; 
    final int[] monthLength = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 

    { 
     for (int i = 0; i < weatherRecord.length; i++) { 
      GregorianCalendar dateInfo = new GregorianCalendar(2008, 0, 1); 
      System.out.println((dateInfo.get(Calendar.MONTH) + 1)+ "/" + 
         dateInfo.get(Calendar.DAY_OF_MONTH)+ "/" + 
         dateInfo.get(Calendar.YEAR)); 
      for (int j = 0; j < weatherRecord[i].length; j++) { 
       for (int k = 0; k < monthLength[j]; k++) { 

        weatherRecord[i][j][k] = new weatherData(); 
        weatherRecord[i][j][k].setLocation(locationNames[i]); 
        weatherRecord[i][j][k].setDate((GregorianCalendar) dateInfo.clone()); 
        weatherRecord[i][j][k].setHighTemp(data.getHIGHS(index)); 
        weatherRecord[i][j][k].setLowTemp(data.getLOWS(index)); 
        weatherRecord[i][j][k].setWind(data.getWIND(index)); 
        weatherRecord[i][j][k].setGust(data.getGUST(index)); 
        weatherRecord[i][j][k].setPrecip(data.getPRECIP(index)); 
        index++; 
        dateInfo.add(Calendar.DAY_OF_MONTH, 1); 
       } 

       System.out.println((dateInfo.get(Calendar.MONTH)+1) + "/" + 
          dateInfo.get(Calendar.DAY_OF_MONTH) + "/" + 
          dateInfo.get(Calendar.YEAR)); 
      } 
     } 
    } 

    private int setLocation(String string) { 
     // TODO Auto-generated method stub 
     return 0; 
    } 
} 

ben sorun yaşıyorum parçası vb/data.getHIGHS/LOWS, bu getHIGHS Yöntem bir nesne türü için tanımlanmamış olduğunu söylüyor: İşte benim kodudur. Nerede yanlış gidiyorum? Bu koddaki yöntemler için alıcıları olan başka bir sınıfım var.

+2

“data” üzerinde getHIGHS() öğesini çağırıyorsunuz. 'data', Object türünde bir değişkendir. Object'in getHIGHS yöntemi yok. Kadar basit. –

+0

"weatherRecord" yapınızı, dosyanın en üstünde "String" dizisi olarak tanımlarsınız; Bu nesnelerin 'getHIGHS' yöntemi yoktur. Daha sonra yeni weatherData() 'tarafından döndürülen nesne olmak için _k_th boyutunu yeniden tanımlamaya çalışırsınız. Yeni weatherData() 'nın başka bir yapıya geri döndüğünü varsayar mıyım? – Castaglia

cevap

2

hata mesajı Nesne sınıfı, en azından java.lang.Object

Doc getHIGHS denilen hiçbir yöntem olduğu basit gelir: https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

Size lib çeşit kullandığınızı mümkün olabileceğini Bir Object sınıfına sahip, daha sonra bu paketi almanız gerekir ....

Ama 3. bölüm libs kullanıyorsanız, belgelere bir göz atmanızı öneririz.