Как я могу превратить мои четыре идеальных базовых метода псевдокода в работающий код?
Я пытаюсь выяснить, как я могу превратить мои 4 основных метода псевдокода в моем идеальном хэш-классе в работающие методы, которые в конечном итоге будут использоваться внутри основного метода моего PerfectHash
учебный класс. Я знаю, что еще не создал экземпляр класса, но я сделаю это.
Вы знаете, как, например, когда вы вызываете 4 метода с использованием стека, например, вы вводите параметры внутри методов, но мое приложение сможет взять ключ, введенный пользователем, и вставить, извлечь, удалить или обновить его внутри. структуры.
Нужно ли больше думать об этих методах или достаточно псевдокода, чтобы работать на данный момент? Вот что я сделал до сих пор. Я знаю, что первый класс компилируется нормально, но у меня проблемы со вторым классом, как я уже указывал выше.
public class PerfectHash
{
private StadiumTickets[] data;
public boolean insert(StadiumTickets newStadiumTicket)
{
// the direct insert hashed algorithm
pseudoKey = preProcessing(targetKey);
ip = pseudoKey; // direct hashing function
// insert the new ticket
data[ip] = newStadiumTicket.deepCopy();
}
public StadiumTickets fetch(String targetKey)
{
// the fetch algorithm
// access the primary storage area
pseudoKey = preprocessing(targetKey);
ip = pseudoKey; // direct hashing function
if(data[ip]== null)
{
return null;
}
else
{
return data[ip].deepCopy();
}
}
public boolean delete(String targetKey)
{
// the delete direct hashed algorithm
// access the primary storage area
pseudoKey = preprocessing(targetKey);
ip = pseudoKey; // direct hashing function
if(data[ip]== null)
{
return false;
}
else
{
data[ip]= null;
return true;
}
}
public boolean update(String targetKey, StadiumTickets newStadiumTicket)
{
// the update direct hashed algorithm
if(delete(targetKey) == false)
return false;
else
{
insert(newStadiumTicket)
return true;
}
}
}
import java.util.Scanner;
public class StadiumTickets
{
int ticketNumber; // keyfield
String purchaserName;
public void input()
{
Scanner input= new Scanner(System.in);
// key values ranges between 2000 to 100,000
System.out.print("Please enter a ticket number between 2000 to 100,000: ");
// a variable to hold the answer
ticketNumber= input.nextInt();
// error checking to make sure the user doesn't enter a key outside of the lower or upper ranges
if(ticketNumber < 2000 && ticketNumber > 100000)
System.out.println("This number is not a valid entry to input into the structure.");
}
public StadiumTickets(int ticketNumber, String purchaserName)
{
this.ticketNumber= ticketNumber;
this.purchaserName= purchaserName;
}
public StadiumTickets deepCopy()
{
StadiumTickets clone= new StadiumTickets(ticketNumber, purchaserName);
return clone;
}
}