X-Received: by 2002:a05:620a:b0f:b0:742:7fb5:f516 with SMTP id t15-20020a05620a0b0f00b007427fb5f516mr486452qkg.1.1677589461838; Tue, 28 Feb 2023 05:04:21 -0800 (PST) X-Received: by 2002:ac8:42c5:0:b0:3bd:134f:6490 with SMTP id g5-20020ac842c5000000b003bd134f6490mr759265qtm.9.1677589461462; Tue, 28 Feb 2023 05:04:21 -0800 (PST) Path: csiph.com!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: no.it.programmering.java Date: Tue, 28 Feb 2023 05:04:21 -0800 (PST) In-Reply-To: Injection-Info: google-groups.googlegroups.com; posting-host=148.83.134.27; posting-account=u1UG4goAAACpW-lynJxhJQFbMFoe2hH4 NNTP-Posting-Host: 148.83.134.27 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: tolkning av java kode From: Benjamin Hennum Knudsen Injection-Date: Tue, 28 Feb 2023 13:04:21 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: csiph.com no.it.programmering.java:1 torsdag 15. november 2007 kl. 19:49:08 UTC+1 skrev eddie: > har et programm som skal skrive ut =C3=A5 legge til nye navn p=C3=A5 fil,= men f=C3=A5r det=20 > ikke til. Hva er feil? > Forutsetninger: navnfil.txt m=C3=A5 opprettes. > her er koden: > import java.io.*; > import static javax.swing.JOptionPane.*; > class HandterNavneregister { > public static void main(String[] args) throws IOException { > String filnavn =3D "navnfil.txt"; > /* > * Leser inn alle navnene og skriver dem ut p=C3=A5 skjermen > */ > FileReader leseforbTilFil =3D new FileReader(filnavn); > BufferedReader leser =3D new BufferedReader(leseforbTilFil); > String etNavn =3D leser.readLine(); > String innlesteNavn =3D "F=C3=B8lgende navn er registrert:"; > while(etNavn !=3D null) // null betyr filslutt > innlesteNavn +=3D ("\n" + etNavn); > etNavn =3D leser.readLine(); > leser.close(); > } > showMessageDialog(null, innlesteNavn); > int svar =3D showConfirmDialog(null, "Skal flere navn registreres?", > "Navneregister", YES_NO_OPTION); > if (svar =3D=3D YES_OPTION) { > FileWriter skriveforbTilFil =3D new FileWriter(filnavn, true); > PrintWriter skriver =3D new PrintWriter(new BufferedWriter(skriveforbTilF= il)); > while (svar =3D=3D YES_OPTION) { > String nyttNavn =3D showInputDialog("Oppgi et navn: "); > skriver.println(nyttNavn); > svar =3D showConfirmDialog(null, "Skal flere navn registreres?", > "Navneregister", YES_NO_OPTION); > } > skriver.close(); > } > } > } tror denne skal funke. import java.io.*; import static javax.swing.JOptionPane.*; class HandterNavneregister { public static void main(String[] args) { String filnavn =3D "navnfil.txt"; /* * Leser inn alle navnene og skriver dem ut p=C3=A5 skjermen */ try (FileReader leseforbTilFil =3D new FileReader(filnavn); BufferedReader leser =3D new BufferedReader(leseforbTilFil)= ) { String etNavn =3D leser.readLine(); String innlesteNavn =3D "F=C3=B8lgende navn er registrert:"; while (etNavn !=3D null) { // null betyr filslutt innlesteNavn +=3D ("\n" + etNavn); etNavn =3D leser.readLine(); } showMessageDialog(null, innlesteNavn); } catch (IOException e) { e.printStackTrace(); } int svar =3D showConfirmDialog(null, "Skal flere navn registreres?"= , "Navneregister", YES_NO_OPTION); if (svar =3D=3D YES_OPTION) { try (FileWriter skriveforbTilFil =3D new FileWriter(filnavn, tr= ue); PrintWriter skriver =3D new PrintWriter(new BufferedWri= ter(skriveforbTilFil))) { while (svar =3D=3D YES_OPTION) { String nyttNavn =3D showInputDialog("Oppgi et navn: "); skriver.println(nyttNavn); svar =3D showConfirmDialog(null, "Skal flere navn regis= treres?", "Navneregister", YES_NO_OPTION); } } catch (IOException e) { e.printStackTrace(); } } } }