Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: JAVA:toistolauseke ongelma

crwtrue [22.11.2005 19:44:04]

#

eli olis tällänen koodin pätkä:

String lukuStr = JOptionPane.showInputDialog(
                "Anna joku kokonaisluku(lopetus=Enter):");

        fout = new FileOutputStream("C:\\temp\\data.bin");
        while (!"".equals(lukuStr)) {
            luku = Integer.parseInt(lukuStr);
            fout.write(luku);
            lukuStr = JOptionPane.showInputDialog(
                    "Anna jokin kokonaisluku");

        }

        fout.close();

        try {
            fin = new FileInputStream     ("C:\\temp\\data.bin");

            int y = fin.read();
            while(y !=-1){
                System.out.println(y);
            }
                    fin.close();

            System.out.println(y);

eli pitäis saada toi alempi while lauseke tulostamaan kaikki annetut arvot ja lopettamaan arvojen jälkeen.

Jaska [22.11.2005 20:53:50]

#

Javaa en tähän hätään muista tarpeeksi hyvin jotta osaisin neuvoa toimivan koodinpätkän. Ongelma näyttäisi olevan siinä, että y:lle annetaan vain kerran arvo ja sitä verrataan lukuun -1. Sinun pitäisi siis while-silmukassa lukea y:lle seuraava merkki ja vertailla tätä uudelleen arvoon -1. Koneessani ei ole tällä hetkellä asennettuna Javaa joten en pääse kokeilemaan esimerkkiäsi.

Juice [22.11.2005 21:44:37]

#

Kokeilepa näin:

String lukuStr = JOptionPane.showInputDialog(
		"Anna joku kokonaisluku(lopetus=Enter):");

		try {
			fout = new FileOutputStream("C:\\temp\\data.bin");

			while (!lukuStr.equals("")) {
				luku = Integer.parseInt(lukuStr);
				fout.write(luku);
				lukuStr = JOptionPane.showInputDialog(
				"Anna jokin kokonaisluku");

			}

			fout.close();

			fin = new FileInputStream ("C:\\temp\\data.bin");
			int y = fin.read();
			while(y !=-1){
				System.out.println(y);
				y = fin.read();

			}
			fin.close();

		}	catch (Exception e) {
			e.printStackTrace();
		}

EDIT: Hieman suurempaakin remonttia koodiin... Katso virheenkäsittelyä sekä while-looppia, oli tylsää :)

crwtrue [23.11.2005 00:29:00]

#

toimii :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta