2016-04-09 9 views
0

Ich mache eine Wetterprozessor-Zuweisung für meinen Informatikunterricht, und ich habe Probleme mit einem Teil des Codes. Ich bin mir nicht sicher, wie ich das Thema angehen soll, also wäre jede Hilfe großartig. Hier ist mein Code:Methode nicht definiert für den Typ?

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; 
    } 
} 

Der Teil I die Mühe habe mit ist die data.getHIGHS/LOWS/etc, es sagt mir, dass die getHIGHS Methode für den Typ Objekt nicht definiert ist. Wo gehe ich falsch? Ich habe eine andere Klasse, die die Getter für die Methoden in diesem Code enthält.

+2

Sie rufen getHIGHS() auf 'data'. 'data' ist eine Variable vom Typ Object. Das Objekt hat keine getHIGHS-Methode. So einfach ist das. –

+0

Sie definieren Ihre 'weatherRecord' Struktur als mehrere Arrays von' String' am Anfang der Datei; Diese Objekte haben keine Methode "getHIGHS". Später versuchen Sie, die _k_th Dimension neu zu definieren, um das Objekt zu sein, das von 'new weatherData()' zurückgegeben wird. Ich nehme an, dass 'new weatherData()' eine andere Struktur zurückgibt? – Castaglia

Antwort

2

Die Fehlermeldung bedeutet einfach, dass die Objektklasse keine Methode getHIGHS, zumindest nicht die java.lang.Object

Doc genannt hat: https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

Es könnte möglich sein, dass Sie irgendeine Art von lib verwenden, hat eine Object-Klasse, dann müssen Sie dieses Paket importieren ....

Aber ich werde vorschlagen, einen Blick auf die Dokumentation zu werfen, wenn Sie 3. Teil-Bibliotheken verwenden.

Verwandte Themen