Avatar billede gala Nybegynder
05. oktober 2003 - 22:10 Der er 32 kommentarer og
2 løsninger

compiler fejl!

Endnu et spørgsmål fra noob'n.
Får en "int cannot be dereferenced" fejl på følgende stykke kode:
String forslag = JOptionPane.showInputDialog("Enter year");
        int forslaget = Integer.parseInt(forslag);
        forslaget.isLeapYear();

Nogen der kan fortælle hvad jeg skal stille op med det?
Takker!
Gala
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 22:13 #1
forslaget.isLeapYear(); regner jo med at forslaget er et objekt. Det er det
ikke. Hvordan ser din isLeapYear ud? Måske - kun måske - skal du:

  isLeapYear(forslaget);

eller

  if (isLeapYear(forslaget)) { .... }
Avatar billede arne_v Ekspert
05. oktober 2003 - 22:17 #2
Prøv med:

GregorianCalendar kal = new GregorianCalendar();
boolean skudaar = kal.isLeapYear(forslaget);
Avatar billede gala Nybegynder
05. oktober 2003 - 22:43 #3
erik>>
Du har fuldstændig ret!
Håber at jeg må stille endnu et dumt spørgsmål.
Jeg har problemer med de pokkers konstruktører næsten uanset hvad jeg gør. Men, here goes:

        String forslag = JOptionPane.showInputDialog("Enter year");
        int forslaget = Integer.parseInt(forslag);
        Year x = new Year(forslaget);
        x.isLeapYear(forslaget);

Den siger cannot resolve symbol Year - har en class Year liggende ved siden af, hvor jeg har:
                public Year (int aYear){
        forslaget = aYear;
Burde det ikke være noget i retning af at det virkede??
Takker og bukker igen

        }
Avatar billede gala Nybegynder
05. oktober 2003 - 22:43 #4
arne>> takker! Men det ville jo være for nemt! Hele opgaven går jo på at jeg skal ha den til at regne på skidtet. Men tak for tippet:)
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 22:45 #5
Jo, det du skriver ser fornuftigt nok ud. Måske i noget af resten af
koden?
Avatar billede gala Nybegynder
05. oktober 2003 - 22:47 #6
Uh! Han kaldte mig fornuftig! (Eller tæt på i hvert fald)
Du får det hele her.

import javax.swing.JOptionPane;
public class YearTest{

public static void main (String []a){
       
        String forslag = JOptionPane.showInputDialog("Enter year");
        int forslaget = Integer.parseInt(forslag);
        Year x = new Year(forslaget);
        x.isLeapYear(forslaget);
       
        if (true)
            System.out.println(forslaget + "is a leap year");
        else
            System.out.println(forslaget + "is not a leap year");   
    }
}

public class Year{
       
    public Year (int aYear){
        forslaget = aYear;
        }
   
    public boolean isLeapYear(){
       
        if (forslaget % 400 == 0 || forslaget % 4 == 0 ||forslaget % 100 !=0)
            return true;   
        else
            return false;
    }
   
public int forslaget;
}
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 22:49 #7
Hvis den hedder public boolean isLeapYear(){
skal du kalde den som
     
    if (x.isLeapYear(forslaget))
            System.out.println(forslaget + "is a leap year");
        else
            System.out.println(forslaget + "is not a leap year"); 
    }

(du skal i hvert fald ikke sige if (true) .... )
Avatar billede arne_v Ekspert
05. oktober 2003 - 22:49 #8
x.isLeapYear(forslaget);
     
        if (true)

til:

if(x.isLeapYear())
Avatar billede arne_v Ekspert
05. oktober 2003 - 22:50 #9
isLeapYear() har ikke noget argument !
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 22:50 #10
Næh ... SÅDAN:

    if (x.isLeapYear())
            System.out.println(forslaget + "is a leap year");
        else
            System.out.println(forslaget + "is not a leap year");
    }
Avatar billede arne_v Ekspert
05. oktober 2003 - 22:51 #11
Kalkulationen i isLeapYear er iøvrigt forkert.
Avatar billede gala Nybegynder
05. oktober 2003 - 22:53 #12
du har jo ret igen for pokker...men det hjalp ikke på at den ikke kan resolve Year...
Avatar billede gala Nybegynder
05. oktober 2003 - 22:54 #13
arne - puha, det kommer jeg nok til...det der med logik og kvinder...
:)
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 22:54 #14
Ja, den vil sige at 1900 er et skudår ... man nu skal det jo lige køre først
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 22:54 #15
Din classpath indeholder måske ikke "." - dvs aktuelt katalog ??
Avatar billede gala Nybegynder
05. oktober 2003 - 22:55 #16
erik >> stadigvæk samme problem...
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 23:00 #17
Jeg tror ikke helt på dig *g* - prøv at se her:

[ej@dmu-stud java]$ javac -classpath . YearTest.java
[ej@dmu-stud java]$ javac -classpath .. YearTest.java
YearTest.java:7: cannot resolve symbol
symbol  : class Year
location: class YearTest
        Year x = new Year(forslaget);
        ^
YearTest.java:7: cannot resolve symbol
symbol  : class Year
location: class YearTest
        Year x = new Year(forslaget);
                    ^
2 errors
Avatar billede gala Nybegynder
05. oktober 2003 - 23:02 #18
erik>> uha! Kan du hjælpe med at få dne sat rigtigt? har forsøgt at sætte path rigtigt i en prompt, men synes ikke det hjælper
Avatar billede arne_v Ekspert
05. oktober 2003 - 23:02 #19
Værre endnu - den vil også sige 1999 er et skudår.

Men det skal selvfølgelig compile først.
Avatar billede arne_v Ekspert
05. oktober 2003 - 23:02 #20
Hvilken editor/compiler/IDE bruger du ?
Avatar billede gala Nybegynder
05. oktober 2003 - 23:04 #21
bruger ultra edit, men kan ikke få den til at compile så jeg hopper ud i cmdprompt hver gang (skide irriterende bortset fra det) men ellers er det j2sdk 1.4.1_02
Avatar billede gala Nybegynder
05. oktober 2003 - 23:04 #22
:D så bliver dem med fødselsdag den 29. feb glade for mig!
Avatar billede arne_v Ekspert
05. oktober 2003 - 23:06 #23
Så bør du kunne compile præcist som Erik skriver:

javac -classpath . *.java
Avatar billede gala Nybegynder
05. oktober 2003 - 23:10 #24
ok...hvad i alpokker betyder så dublicate class YearTest?
(Ved godt jeg trækker den efterhånden)
Avatar billede gala Nybegynder
05. oktober 2003 - 23:11 #25
ok, dum nu
Takker og bukker!
Avatar billede gala Nybegynder
05. oktober 2003 - 23:12 #26
1000 tak for hjælpen!!! Så må jeg lige få skudårene til at passe - men det må vist være min egen opgave*S*
Avatar billede gala Nybegynder
05. oktober 2003 - 23:13 #27
kom lige med et svar begge to tak
Avatar billede arne_v Ekspert
05. oktober 2003 - 23:14 #28
svar
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 23:15 #29
ok
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 23:15 #30
Hov - var det ikke 30 p før. Jeg vil maks have 15 !!!
Avatar billede gala Nybegynder
05. oktober 2003 - 23:18 #31
ærgelig bærgelig!*G*
Men aaaj altså! hvorfor pokker kan jeg nu ikke køre det??
Avatar billede gala Nybegynder
05. oktober 2003 - 23:23 #32
Er det nu igen noget med classpath'n at gøre?
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 23:29 #33
java -cp . YearTest
Avatar billede erikjacobsen Ekspert
05. oktober 2003 - 23:30 #34
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester