i have a problem with search in java
I need some help whit a search function in a program. Iám a beginner in java. My program is below.
What I need is, I will search by name and number how shall i do that.
import java.util.Scanner;
public class phonebook
{
public static void main(String[] args) // huvudmetoden
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Storleken på boken?");
int size = keyboard.nextInt();
int choice = -1;
int pos = 0;
String[]names = new String[size];
int[]numbers = new int[size];
while(choice != 6)
{
choice = menu(keyboard);
switch(choice)
{
case 0:
break;
case 1:
addPerson(names, numbers, keyboard, pos);
pos++;
break;
case 2:
break;
case 3:
break;
case 4:
sortera(names, numbers);
break;
case 5:
showAll(names, numbers);
break;
case 6:
System.out.print("Välkommen åter!");
break;
}
}
}
public static int menu(Scanner keyboard)
{
System.out.println("\n1.Lägg in person");
System.out.println("2.Sök på namn");
System.out.println("3.Sök på telefonnummer");
System.out.println("4.Sortera namnvis");
System.out.println("5.Visa alla");
System.out.println("6.Avsluta");
System.out.print("Ditt val: ");
int choice = keyboard.nextInt();
return choice;
}
public static void addPerson(String[]names,int[]numbers, Scanner keyboard, int pos)
{
System.out.print("Namn: ");
String name = keyboard.next();
names[pos]= name;
keyboard.next();
System.out.print("Nummer: ");
int number = keyboard.nextInt();
numbers[pos] = number;
}
private static void sortera(String[]names, int[]numbers)
{
String tempstr1 = "";
String tempstr2 = "";
for (int i = 0; (i + 1) < names.length;)
{
if ( (names[i] != null) & (names[i+1] != null))
{
if (names[i].toUpperCase().compareTo(names[i + 1].toUpperCase()) > 0)
{
tempstr1 = names[i];
tempstr2 = numbers[i];
names[i] = names[i + 1];
numbers[i] = numbers[i + 1];
names[i + 1] = tempstr1;
numbers[i + 1] = tempstr2;
i = 0;
}
else
{
i++;
}
}
else
{
i++;
}
}
}
public static void showAll(String[]names, int[]numbers)
{
for(int i = 0; i <= names.length-1; i++)
{
System.out.println(names[i] +" "+ numbers[i]);
}
}
}