Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import se.lth.cs.pt.io.*;
- import java.util.*;
- class Person {
- private String name;
- private String number;
- public Person(String name, String number){
- this.name = name;
- this.number = number;
- }
- public String getName(){
- return name;
- }
- public String toString(){
- return name + " " + number;
- }
- public String getNumber(){
- return number;
- }
- }
- class Register {
- private List<Person> phonebook = new ArrayList<Person>();
- public Register(){
- }
- public boolean insert(String name, String nbr){
- if(containsName(name)){
- return false;
- }
- Person person = new Person(name,nbr);
- phonebook.add(place(name), person);
- return true;
- }
- private int place(String name){
- int count = 0;
- for(Person person : phonebook){
- if(person.getName().compareTo(name)>=0){
- return count;
- }
- count++;
- }
- return count;
- }
- public boolean remove(String name){
- if(containsName(name)){
- rmName(name);
- return true;
- }
- return false;
- }
- private int rmName(String name){
- int count = 0;
- for(Person person : phonebook){
- if(person.getName().compareTo(name)==0){
- phonebook.remove(count);
- break;
- }
- count++;
- }
- return count;
- }
- private boolean containsName(String name){
- for(Person person : phonebook){
- if(name.equals(person.getName())){
- return true;
- }
- }
- return false;
- }
- public List<Person> findByPartOfName(String partOfName){
- List<Person> selected = new ArrayList<Person>();
- for(Person person : phonebook){
- if(person.getName().indexOf(partOfName)>=0){
- selected.add(person);
- }
- }
- return selected;
- }
- public List<Person> findByNumber(String number){
- List<Person> selected = new ArrayList<Person>();
- for(Person person : phonebook){
- if(person.getNumber().indexOf(number)==0){
- selected.add(person);
- }
- }
- return selected;
- }
- public List<Person> findAll(){
- List<Person> copy = new ArrayList<Person>();
- for (Person person : phonebook){
- copy.add(person);
- System.out.println(person);
- System.out.println("lol");
- }
- return copy;
- }
- }
- class PhoneBook {
- public static void main(String[] args) {
- new PhoneBook().run();
- }
- Register register = new Register();
- void run() {
- for(;;){
- meny();
- }
- }
- void meny(){
- switch(choice()){
- case(1):
- System.out.println();
- if(register.insert(Keyboard.nextLine("Ange namn: "),Keyboard.nextLine("Ange nummer: "))){
- System.out.print("Gick bra");
- } else {
- System.out.println("Gick mindre bra");
- }
- break;
- case(2):
- System.out.println();
- System.out.println();
- String name = Keyboard.nextLine("Vem vill du ta bort: ");
- if(register.remove(name)){
- System.out.println("Ok " + name + " togs bort!");
- } else{
- System.out.println(name + " fanns inte");
- }
- break;
- case(3):
- System.out.println();
- System.out.println();
- List<Person> selected = register.findByPartOfName(Keyboard.nextLine("ange del av namn: "));
- if(selected.size()!=0){
- for(Person person : selected){
- System.out.printf("* %10s %s\n",person.getName(), person.getNumber());
- }
- } else {
- System.out.print("Där fanns ingen med den delen i namnet");
- }
- break;
- case(4):
- System.out.println();
- System.out.println();
- break;
- case(5):
- System.out.println();
- System.out.println();
- for(Person person : register.findAll()){
- System.out.println("lol");
- System.out.println(person.getName() + " " + person.getNumber());
- }
- break;
- case(0):
- System.exit(0);
- default:
- System.out.print("Felaktigt kommando");
- break;
- }
- System.out.println();
- System.out.println();
- }
- int choice(){
- System.out.printf("Vad vill du göra:\n1. Lägg till en ny person.\n2. Tag bort person\n3. Sök på del av namn.\n4. Se vem som har givet nummer.\n5. Skriv ut alla personer.\n0. Avsluta.\nAnge kommando (0-5): ");
- return Keyboard.nextInt();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement