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.");
}
}