Здравствуйте, есть код
Код:
package oo;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class AssociativeArray {
String Key[];
String Value[];
protected AssociativeArray(){
Key = new String[1];
Value = new String[1];
}
public static void main(String[] args) {
AssociativeArray a = new AssociativeArray();
try {
a.menu();
} catch (IOException ex) {
Logger.getLogger(AssociativeArray.class.getName()).log(Level.SEVERE, null, ex);
}
}
void menu() throws java.io.IOException {
AssociativeArray n = new AssociativeArray(){
public void put(){};
};
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//Scanner inp = new Scanner( System.in );
char choise;
System.out.print("Что вы хотите сделать? \n[w] - записать новую пару в массив"
+ ", [p] - печатать весь массив, [e] - выход, "
+ "[d] - удаление элементов, [f] - найти элемент по ключу:\nВыбор: ");
choise = (char)in.read();
switch( choise ){
case 'w':
try {
put();
} catch (Exception ex) {
Logger.getLogger(AssociativeArray.class.getName()).log(Level.SEVERE, null, ex);
}
break;
case 'p':
printall();
break;
case 'e':
System.exit(0);
break;
case 'd':
try {
delete();
} catch (Exception ex) {
Logger.getLogger(AssociativeArray.class.getName()).log(Level.SEVERE, null, ex);
}
break;
case 'f':
try {
find();
} catch (Exception ex) {
Logger.getLogger(AssociativeArray.class.getName()).log(Level.SEVERE, null, ex);
}
break;
}
}
protected void put() throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//PrintWriter in = new PrintWriter(new OutputStreamWriter(System.out, "Cp866"), true);
int size = Key.length;
String tempKey;
String tempVal;
System.out.print("Введите ключ: ");
tempKey = in.readLine();
for( int i = 0; i < size; i++ ){
if( tempKey.equals(Key[i]) ){
System.out.print("Введите значение для ключа: ");
tempVal = in.readLine();
System.out.println("Вы действительно хотите заменить значение ключа: " + Key[i] + " = " + Value[i] + ""
+ "\nна " + Key[i] + " = " + tempVal + "\n[y] - да, любая другая клавиша - нет");
char choise = (char)in.read();
if(choise == 'y'){
Value[i] = tempVal;
System.out.println("Данные заменены\n");
} else
System.out.println("Замена не произведена\n");
menu();
}
}
size++;
String TempKey[] = new String[size];
String TempVal[] = new String[size];
TempKey[0] = Key[0];
if( TempKey[0] == null ){
Key[0] = tempKey;
System.out.print("Введите значение для ключа: ");
Value[0] = in.readLine();
System.out.println("Данные успешно записаны\n");
menu();
} else {
System.arraycopy(Key, 0, TempKey, 0, size - 1);
System.arraycopy(Value, 0, TempVal, 0, size - 1);
//System.out.print("Введите ключ: ");
TempKey[size-1] = tempKey;
System.out.print("Введите значение для ключа: ");
TempVal[size-1] = in.readLine();
Key = TempKey;
Value = TempVal;
System.out.println("Данные успешно записаны\n");
menu();
}
}