All pastes #729351 Raw Edit

Someone

public text v1 · immutable
·published 2007-10-07 21:51 UTC
rendered paste body
import java.util.Scanner;

public class Taulukko25 {

        private static void jarjesta(int[] taulu) {

                for (int i=0; i < taulu.length-1; ++i) {
                        for (int j=i+1; j < taulu.length; ++j) {
                                if (taulu[i] > taulu[j]) {
                                        int apu = taulu[i];
                                        taulu[i] = taulu[j];
                                        taulu[j] = apu;
                                }
                        }
                }
        }

        private static boolean binaarihaku(int[] taulu, int haettava) {
                int vasen = 0;
                int oikea = taulu.length-1;
                int keski;

                while (vasen <= oikea) {
                        keski = (vasen+oikea)/2;
                        if (haettava == taulu[keski]) {
                                return true;
                        }
                        if (haettava < taulu[keski]) {
                                oikea = keski-1;
                        }
                        else {
                        vasen = keski+1;
                        }
                }
                return false;
        }

        private static Scanner lukija = new Scanner(System.in);

        public static void main(String[] args) {
                String k;
                int i, c;

                System.out.println("Kuinka ison taulukon haluat?");
                i = lukija.nextInt();

                int[] luku = new int[i];
                System.out.println("Kirjoita haluamasi luvut taulukkoon.");

                for (int j=0; j<i; j++) {
                        System.out.println("Anna " +j+ ". luku.");
                        luku[j] = lukija.nextInt();
                }

                do {
                        System.out.println("Haluatko vielä tarkistaa onko jokin luku taulukossa?");
                        System.out.println("kyllä/ei");
                        k = lukija.nextLine();
                                if (k.equals("kyllä")) {
                                        jarjesta(luku);
                                        System.out.println("Minkä luvun haluat tarkistaa?");
                                        c = lukija.nextInt();
                                        if (binaarihaku(luku, c)) {
                                                System.out.println("Luku löytyy taulukosta.");
                                        }
                                        else {
                                                System.out.println("Valitettavasti lukua ei löydy.");
                                        }
                                }
                }
                while (k.equals("kyllä"));

                System.out.println("Et halunnut enää tarkistella taulukkoa.\n"
                +"Kiitos osallistumisesta ja hyvää päivänjatkoa.");

        }
}