Tehtävänä olisi hakea tiedostosta (tiedoto.txt) ihmisten pituudet ja saada ohjelma tulostamaan niistä pienimmän.
En oikein osaa edetä tehtävässä. Voisiko joku auttaa?
import java.io.*; class Main { public static void main (String[] args) { int[] luvut = new int[args.length]; for (int i = 0; i < args.length; i++) { luvut[i] = Integer.parseInt(args[i]); } // etsitään pienin // oletetaan, että se on ensimmäinen int pienin = luvut[0]; // tutkitaan lopputaulukko toisesta alkiosta eteenpäin for (int i = 1; i < luvut.length; i++) { // jos löydetty pienempi kuin aiemmat if (luvut[i] < pienin) { pienin = luvut[i]; } } // tulostetaan pienin System.out.println("Pienin on " + pienin); } }
Meille ei oikeastaan opeteta mitään, joten en oikein osaa ohjelmoida perusjuttujakaan. Suurin ongelma on se, että en tiedä edes miten saan ohjelman ottamaan pituudet teksti tiedostosta.
Mod. lisäsi kooditagit, jolloin moni outo kohta koodissa selkeni.
Muutenhan tuo koodi on kunnossa, mutta tiedostosta lukeminen vain puuttuu. Toivottavasti tästä koodista opettelet asioita etkä vain palauta valmiina kurssityönä; olet pulassa tentissä, jos et opettele itse ohjelmoimaan.
import java.io.*; import java.util.*; class TiedostonPieninLuku { public static void main(String[] args) { FileReader tiedosto; try { tiedosto = new FileReader("tiedosto.txt"); } catch (FileNotFoundException e) { System.out.println("Virhe: " + e.getMessage()); System.exit(1); return; } Scanner s = new Scanner(tiedosto); if (!s.hasNextInt()) { System.out.println("Ei ole yhtään lukua!"); System.exit(1); return; } int pienin = s.nextInt(); while (s.hasNextInt()) { int x = s.nextInt(); if (x < pienin) { pienin = x; } } System.out.println("Pienin luku on " + pienin); } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.