Also beende ich gerade diese Aufgabe für den Unterricht. Wir verwenden sequenzielle und binäre Suchvorgänge, um Kunden nach der gewünschten Teilenummer zu fragen. Dann geben Sie zurück, ob es gefunden wurde oder nicht, und falls gefunden, geben Sie den Preis mit der angeforderten Teilenummer zurück. Also gibt es 2 Arrays, eins mit ganzen Zahlen für die Teilenummer und ein doppeltes Array für den Preis. Also nach der sequentiellen und binären Suche nach der Teilenummer suchen, wie bekomme ich den Preis für diese Teilenummer?Wie bekomme ich den Preis aus einem Array?
public class InventoryData
{
Scanner input = new Scanner(System.in);
int[] partNum = new int [200];
double[] priceArray = new double[200];
int partsCount = 0;
int customerPart;
int partPrice;
String inventoryPricing;
double customerPrice;
public InventoryData(String File)
{
inventoryPricing = "file";
}
public void loadArrays()
{
try
{
Scanner infile = new Scanner(new FileInputStream("file"));
while(infile.hasNext())
{
partNum[partsCount] = infile.nextInt();
priceArray[partPrice] = infile.nextDouble();
++partsCount;
}
infile.close();
}
catch (IOException ex)
{
//If file has problems, set the count to -1
partsCount = -1;
ex.printStackTrace();
}
}
public void seqSearch()
{
System.out.println("What part number are you looking for?");
customerPart = input.nextInt();
for(int i=0; i < partNum.length; i++){
if(customerPart == partNum[i])
System.out.println("Sequential search found part" + customerPart);
}
}
public int binarySearch()
{
int first = 0;
int mid=0;
int last = partsCount - 1;
boolean found = false;
System.out.println("What part number are you looking for?");
customerPart = input.nextInt();
while(first <= last && !found)
{
mid = (last + first) /2;
if(partNum[mid] == customerPart)
{
found = true;
}
else if(partNum[mid] < customerPart)
first = mid +1;
else
last = mid-1;
}
if(!found)
{
mid = -1;
}
return mid;
}
public double getPrice()
{
return customerPrice;
}
}// end of inventory data class
Stimmen die Teile- und Preis-Arrays überein? '[0] - part = [0] - price' ... – brso05
Die' binary' Suche wird nicht funktionieren, wenn das Teile-Array nicht sortiert ist ... – brso05
Nun hatte ich meinen Lehrer über die binäre Suche schauen, und er sagte es war richtig. Es basiert auf einem Flussdiagramm, das er uns als Beispiel gab –