il prof ha dato da fare un esercizio:costruisca in java un array di 5 interi nn ordinato e si applici la ricerca binaria!quindi prima si deve applicare un algoritmo di ordinamento e poi la ricerca binaria!quindi ho fatto il seguente programma:
import java.util.Scanner;
public class BinarySearch
{
private int[] a;
public BinarySearch(int[] an)
{
a=an;
}
public void sort()
{
for(int i=0;i<a.length;i++)
{
int next=a[i];
int j=i;
while(j>0 && a[j-1]>next)
{
a[j]=a[j-1];
j--;
}
a[j]=next;
}
}
public int search(int v)
{
int low=0;
int high=a.length-1;
while (low<=high)
{
int mid=(high+low)/2;
int diff=a[mid]-v;
if(diff==0) return mid;
else if(diff<0) low=mid+1;
else high=mid-1;
}
return -1;
}
public static void main(String[] args)
{
int[] b=new int[5];
BinarySearch t=new BinarySearch(b);
Scanner in=new Scanner(System.in);
for(int i=0;i<5;i++)
{
System.out.println("Inserisci un intero:");
int e=in.nextInt();
t[i]=e;
}
t.sort();
System.out.println("Cerca l'intero:");
int y=in.nextInt();
System.out.println("Il risultato della ricerca e':"+t.search(y));
}
}
ma mi da un errore del tipo"array required,but BinarySearch found"!!!!!!!
aiutatemi!!!!vi prego!
vi ringrazio anticipatamente

Rispondi quotando