Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 51 additions & 51 deletions src/com/phone/Contact.java
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
package com.phone;

import java.util.Objects;

public class Contact {
private final String name, phoneNumber, address;
private final int age;


public Contact(String name, String phoneNumber, String address, int age) {
this.name = name;
this.phoneNumber = phoneNumber;
this.address = address;
this.age = age;
}

public String getName() {
return name;
}

public String getPhoneNumber() {
return phoneNumber;
}

public String getAddress() {
return address;
}

public int getAge(){
return age;
}


@Override
public String toString(){
return "name: " + getName() + " | address: " + getAddress() + " | phone: " + getPhoneNumber() + "";
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Contact contact = (Contact) o;
return Objects.equals(name, contact.name) && Objects.equals(phoneNumber, contact.phoneNumber) && Objects.equals(address, contact.address);
}

@Override
public int hashCode() {
return Objects.hash(name, phoneNumber, address);
}
}
package com.phone;
import java.util.Objects;
public class Contact {
private final String name, phoneNumber, address;
private final int age;
public Contact(String name, String phoneNumber, String address, int age) {
this.name = name;
this.phoneNumber = phoneNumber;
this.address = address;
this.age = age;
}
public String getName() {
return name;
}
public String getPhoneNumber() {
return phoneNumber;
}
public String getAddress() {
return address;
}
public int getAge(){
return age;
}
@Override
public String toString(){
return "name: " + getName() + " | address: " + getAddress() + " | phone: " + getPhoneNumber() + "";
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Contact contact = (Contact) o;
return Objects.equals(name, contact.name) && Objects.equals(phoneNumber, contact.phoneNumber) && Objects.equals(address, contact.address);
}
@Override
public int hashCode() {
return Objects.hash(name, phoneNumber, address);
}
}
79 changes: 40 additions & 39 deletions src/com/phone/Main.java
Original file line number Diff line number Diff line change
@@ -1,39 +1,40 @@
package com.phone;

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Phonebook phonebook = new Phonebook();
boolean isAddedMahdi = phonebook.addContact("mahdi", "09011234567", "Tehran", 29);
boolean isAddedAmir = phonebook.addContact("amir", "09021234567", "Tabriz", 22);
boolean isAddedPouya = phonebook.addContact("pouya", "09031234567", "Mashhad", 38);


Scanner reader = new Scanner(System.in);
System.out.println("enter user name:");
String custName = reader.nextLine().strip();
System.out.println("enter user phone:");
String custPhone = reader.nextLine().strip();
System.out.println("enter user address:");
String custAddr = reader.nextLine();
System.out.println("enter user age:");
int custAge = Integer.parseInt(reader.nextLine().strip());
boolean isAddedCust = phonebook.addContact(custName, custPhone, custAddr, custAge);



System.out.println("added all contacts");



Contact mahdiCont = phonebook.getContact("mahdi");
Contact montezaCont = phonebook.getContact("morteza");

int avgAge = phonebook.getAvgAge();
System.out.println("average age of contacts is: " + avgAge);


phonebook.printContacts();
}
}
<<<<<<< HEAD
package com.phone;

// this is bobs edit
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Phonebook phonebook = new Phonebook();
boolean isAddedMahdi = phonebook.addContact("mahdi", "09011234567", "Tehran", 29);
boolean isAddedAmir = phonebook.addContact("amir", "09021234567", "Tabriz", 22);
boolean isAddedPouya = phonebook.addContact("pouya", "09031234567", "Mashhad", 38);


Scanner reader = new Scanner(System.in);
System.out.println("enter user name:");
String custName = reader.nextLine().strip();
System.out.println("enter user phone:");
String custPhone = reader.nextLine().strip();
System.out.println("enter user address:");
String custAddr = reader.nextLine();
System.out.println("enter user age:");
int custAge = Integer.parseInt(reader.nextLine().strip());
boolean isAddedCust = phonebook.addContact(custName, custPhone, custAddr, custAge);


System.out.println("added all contacts");



Contact mahdiCont = phonebook.getContact("mahdi");
Contact montezaCont = phonebook.getContact("morteza");

int avgAge = phonebook.getAvgAge();
System.out.println("average age of contacts is: " + avgAge);


phonebook.printContacts();
}
}
102 changes: 51 additions & 51 deletions src/com/phone/Phonebook.java
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
package com.phone;

import java.sql.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;

public class Phonebook {
private HashMap<String, Contact> contactHashMap;
private int numberOfContacts;

Phonebook(){
contactHashMap = new HashMap<>();
numberOfContacts = 0;
}

public boolean addContact(String name, String phoneNumber, String address,int age){
Contact newContact = new Contact(name, phoneNumber, address, age);
ArrayList<Contact> contacts = new ArrayList<>(contactHashMap.values());
if (contacts.contains(newContact) ){
return false;
}
contactHashMap.put(name, newContact);
numberOfContacts++;
return true;
}

public void printContacts(){
ArrayList<Contact> contacts = new ArrayList<>(contactHashMap.values());
System.out.println("\nprinting contacts:");
for(Contact el : contacts){

System.out.println(el);
System.out.print("--------------------------------------------------------------\n");
}
return;
}
public Contact getContact(String name){
return contactHashMap.get(name);
}

public int getAvgAge(){
ArrayList<Contact> contacts = new ArrayList<>(contactHashMap.values());
double sum = 0.00001;
for(Contact el : contacts){
System.out.println(el);
sum += el.getAge();
}
return (int) Math.round(sum / contacts.size());
}
}
package com.phone;
import java.sql.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
public class Phonebook {
private HashMap<String, Contact> contactHashMap;
private int numberOfContacts;
Phonebook(){
contactHashMap = new HashMap<>();
numberOfContacts = 0;
}
public boolean addContact(String name, String phoneNumber, String address,int age){
Contact newContact = new Contact(name, phoneNumber, address, age);
ArrayList<Contact> contacts = new ArrayList<>(contactHashMap.values());
if (contacts.contains(newContact) ){
return false;
}
contactHashMap.put(name, newContact);
numberOfContacts++;
return true;
}
public void printContacts(){
ArrayList<Contact> contacts = new ArrayList<>(contactHashMap.values());
System.out.println("\nprinting contacts:");
for(Contact el : contacts){
System.out.println(el);
System.out.print("--------------------------------------------------------------\n");
}
return;
}
public Contact getContact(String name){
return contactHashMap.get(name);
}
public int getAvgAge(){
ArrayList<Contact> contacts = new ArrayList<>(contactHashMap.values());
double sum = 0.00001;
for(Contact el : contacts){
System.out.println(el);
sum += el.getAge();
}
return (int) Math.round(sum / contacts.size());
}
}