Gå til innhold

Hva er galt med denne kodesnutten?


Anbefalte innlegg

Skrevet

Hei! Leser i "Programmering i Java" og trodde jeg nettop hadde blitt ferdig med oppgave 2 s.98, men nei da. Når jeg kompilerer den får jeg disse meldingene:

 

- <identifier> expected line 1

- '.' expected line 1

 

import static javax.swing.JOptionPane.*;

class Kalorier {
public static void main(String[] args) {
 final double faktor = 4.2;
 String antKalorier = showInputDialog("Antall kalorier: ");
 double kalorier = Double.parseDouble(antKalorier);
 double resultat = faktor * kalorier;
 showMessageDialog(null, "Antall kJ blir: "+ resultat);
}
}

 

Har egentlig ikke helt styringa på disse import pakkene :ermm: Må man laste dem ned, eller følger de med, import-koden i min kodesnutt var helt identisk til den som stod i fasiten...

 

Noen kloke ord?

Videoannonse
Annonse
Skrevet (endret)

JOptionPane er en klasse, ikke en pakke.

Import setningen din skal dermed være:

import javax.swing.JOptionPane;

 

*edit, du skal heller ikke ha noe "static" keyword foran.

Endret av berzerker
Skrevet

Videre:

 

String antKalorier = JOptionPane.showInputDialog("Antall kalorier: ");
JOptionPane.showMessageDialog(null, "Antall kJ blir: "+ resultat);

Skrevet (endret)

Kom meg videre med oppgavene, men har igjen støtt på et problem. Noen som kan se fort hva som kan være galt?

import static javax.swing.JOptionPane.*;

class Konto {
private long kontonr;
private String navn;
private double saldo;

public Konto(long startKontonr, String startNavn, double startSaldo) {
 kontonr = startKontonr;
 navn = startNavn;
 saldo = startSaldo;
}

public long finnKontonr() {
return kontonr;
}

public String finnNavn() {
return navn;
}

public double finnSaldo() {
return saldo;
}

public void inskudd(double beløp) {
saldo = saldo + beløp;
}

public void uttak(double beløp) {
saldo = saldo - beløp;
}
}
class oppg1_4 {
public static void main(String[] args) throws Exception {
 /* Lager et objekt av klassen */
 String kontonrLest = showInputDialog("Oppgi kontonummer: ");
 long kontonr = Long.parseLong(kontonrLest);
 String navnLest = showInputDialog("Oppgi navn: ");
 String saldoLest = showInputDialog("Oppgi startsaldo: ");
 double saldo = Double.parseDouble(saldoLest);
 Konto olesKonto = new Konto(kontonr, navnLest, saldo);
 
 /* Tester tilgangsmetodene */
 kontonr = olesKonto.finnKontonr();
 String navn = olesKonto.finnNavn();
 saldo = olesKonto.finnSaldo();
 System.out.println("Før dataene ble endret: \nKontonummer: "+kontonr+
 "\nNavn: "+navn+"\nSaldo: "+saldo);
 
 /* Prøver mutasjonsmetodene */
 String innskuddLest = showInputDialog("Innskudd: ");
 double innskudd = Double.parseDouble(innskuddLest);
 olesKonto.innskudd(innskudd);
 
 String uttakLest = showInputDialog("Uttak: ");
 double uttak = Double.parseDouble(uttakLest);
 olesKonto.uttak(uttak);
 
 kontonr = olesKonto.finnKontonr();
 navn = olesKonto.finnNavn();
 saldo = olesKonto.finnSaldo();
 showMessageDialog(null, "Etter endring av dataene:\nKontonummer: "+kontonr+
 "\nNavn: "+navn+ "\nSaldo: "+saldo);
}
}

Feilmeldingen: cannot find symbol method innskudd(double) line 54

Endret av kjey
Skrevet
JOptionPane er en klasse, ikke en pakke.

Import setningen din skal dermed være:

import javax.swing.JOptionPane;

 

*edit, du skal heller ikke ha noe "static" keyword foran.

Som nevnt tidligere, det finnes noe som heter static import i Java 1.5. Man kan paa denne maaten bruke statiske metoder og konstanter fra andre klasser som om de er lokale statiske metoder i sin egen klasse.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...