# فناوری جاوا > برنامه‌نویسی جاوا >  دفترچه تلفن به زبان جاوا

## leila_xx

*سلام. من 3 ماه جاوا میخونم و خیلی از مفهوم ها رو متوجه نشدم.*
*الانم باید دفترچه تلفن به زبان جاوا رو تا اخرهای هفته با ارایه و بدون استفاده از فایل بنویسم.*
*یکی لطفا کمکم کنه ممنونم. منتظرم* :لبخند گشاده!:

----------


## ermia2008

سلام.
اگه منظورتون برنامه آمادست كه فكر نمي كنم اينجا به نتيجه برسيد! چون اينجا دوستان فقط مشكلات رو رفع مي كنند.
خودتون شروع كنيد اگه مشكلي بود دوستان كمك مي كنن.
موفق باشيد.

----------


## leila_xx

salam mamnonam az pasokheton vali man vaghan nemidonam bayad az koja shoro konam nemidonam ke chejori bayad ye methodo masalan methode add chechizize lazem dare? be har hal mamnonam az pasokheton

----------


## Cold.82

می تونید از hashtable ها یا arraylist ها برای این کار استفاده کنید

----------


## ermia2008

> salam mamnonam az pasokheton vali man vaghan nemidonam bayad az koja shoro konam nemidonam ke chejori bayad ye methodo masalan methode add chechizize lazem dare? be har hal mamnonam az pasokheton


خوب مثلا برای متد Add می تونید از این ساختاری که می گم استفاده کنید:
می تونید یه کلاس ایجاد کنید به نام personInfo که فیلدهای آن شامل اطلاعاتی است که باید برای هر شخص ذخیره بشه.مثل زیر:

class PersonInfo{

	String tel;
	String Address;
	String Email;
	...
}



خوب حالا می تونید به ازای هر شخص جدید یک شی جدید اضافه کنید. برای نمایش اطلاعات هر شخص هم میشه از JTable خود جاوا استفاده کنید.
برای نگهداری اطلاعات هم می تونید از ArrayList استفاده کنید.به صورتی که هر شی رو که حاوی اطلاعات هر شخص هست رو به ArrayList اضافه کنید.

----------


## leila_xx

salam aghaie mahdi kheili lotf kardin ke komakam kardin. hala man nemidonam ye araie ke az person tarif karadam chejori name/lastname/phono migiram chejori to in ye araie berizam kolan  ino nemidonam ke chejori bayad  to ye araie 3ta chiz berizam man ye shei az classe person doros kardamo araie doros kardam az jense person vali dg baghiasho nemidonam  
mamnon az lotfeton bye

----------


## ermia2008

> salam aghaie mahdi kheili lotf kardin ke komakam kardin. hala man nemidonam ye araie ke az person tarif karadam chejori name/lastname/phono migiram chejori to in ye araie berizam kolan  ino nemidonam ke chejori bayad  to ye araie 3ta chiz berizam man ye shei az classe person doros kardamo araie doros kardam az jense person vali dg baghiasho nemidonam  
> mamnon az lotfeton bye


توصیه می کنم حتما قبل از شروع کار مفاهیم شی گرایی رو بخونید! چون اینا پایه و اصول کارن!

خوب وقتی که یه شی ساختید از کلاستون حالا اینجوری باید بهش مقداردهی کنید:


Person[] objPerson = new Person[100];

for(int i=0;i<100;i++)
	objPerson = new Person();
	
objPerson[1].name = "name";
objPerson[1].family = "family";
objPerson[1].tel = "098765431";



بقیه اشیا آرایه رو هم به همین صورت می تونید بهشون مقدار بدید.

----------


## leila_xx

salam dostan in karaie ke shoma farmodino man anjam dadam be ye jahaieam residam vali hala ke1 methode searcho  to class phone bookam neveshtam toie classe person nemitonam compare to ro kamel benevisam yani nemifahmam moshkelesh kojas
bad ye komakiam bare methode edit begin ke bayad bade inke shie ke mikham taghir bedamo peida kardam chikar bayad anjam bedam
bare method remove ham bayad sheie ke bare delet kardan peida kardimo mosavie  null gharar bedam :متفکر: 
mamnon az lotfeton kheili dg soal porsidam faghat khaheshan zood chon dg vaghti  :لبخند: nadaram

----------


## leila_xx

salam dostan man barnamamo neveshtam vali kheili moshkel dare mizaramesh inja age kesi moshkelasho fahmid behem bege mamnoon misham man ta shabe  yekshanbe bishtar vaght nadarm age kesi  tonest behem bege lotfe bozorgi karde felan..

package hphonebook;
import java.lang.String;
import java.util.Scanner;
import java.util.Arrays;

public class Person {
    public String name;
    public String lastname;
    public String phone;

Boolean code=false;
    public Person(){
    }

    public Person (String name, String lastname, String phone){
       this.name=name;
       this.lastname=lastname;
       this.phone=phone;
    }

     public  String getName(){
        return name;
    }
     public String getLastName(){
        return lastname;
    }
      public String getPhone(){
        return phone;
    }


    public static void main(String[] args) {
        private int n;
        int p;
        PhoneBook myPhoneBook=new PhoneBook();
        Person objPerson[];
        Scanner input= new Scanner(System.in);


      switch(menu())
      {
        case1:
            System.out.println("*enter number of person you want to add *");
            n=input.nextInt();
            if (n>=100) {System.out.println("you can just enter 100 phonenumber");}
       for(int i=1; i<=n; i++){
        System.out.println("*enter name*"+(i+1)+":");
        objPerson[i].name=input.nextLine();
        System.out.println("*enter lastname*"+(i+1)+":");
        objPerson[i].lastname=input.nextLine();
        System.out.println("*enter phone*"+(i+1)+":");
        objPerson[i].phone=input.nextLine();
    }
            myPhoneBook.add (name, lastname, phone);
        break;
        case2:
        System.out .println("*searching lastname by lastname");
        System.out.println("write lastname of person that you searching for it:");
       objPerson[p].lastname=(input.nextLine());
       System.out.println("Name:"objPerson[p].name);
       System.out.println("LastName:"objPerson[p].lastname);
       System.out.println("Phone:"objPerson[p].phone);
              myPhoneBook.search(lastname);

        case3:
             System.out .println("*removing lastname by lastname");
       System.out.println("write lastname that you remove for it:");
       objPerson[p].lastname=(input.nextLine());
            myPhoneBook.remove(lastname);
        break;
        case4:
            System.out.println("write lastename of person you want to edit:")
             objPerson[p].lastname=(input.nextLine());
         System.out.println("write newname:");
         objPerson[p].name=(input.nextLine());
         System.out.println("write newlastname:")
         objPerson[p].lastname=(input.nextLine());
         System.out.println("write new phone");
         objPerson[p].phone=(input.nextLine());
  myPhoneBook.edit(name,lastname,phone,lastname1);
        break;
        for(int j=1 ;j<100;j++){
   System.out.println(objPerson[j]);
            case5:
                myPhoneBook.sortArray();
  }
        case6:
            System.exite(0);
      }





    }

}
package hphonebook;
import java.lang.String;
import java.util.Scanner;
import java.util.Arrays;

public class PhoneBook {
public int j,p;

 Person[]objPerson=new Person[100];

   Scanner input= new Scanner(System.in);
    public void add(String name,String lastname,String phone){

    }
    public void sortArray(){
        Person temp[];
        for (int i=1 ;i<100;j++){
   for (int j=1; j<100;j++){
    int k=objPerson[i].lastname.compareTo(objPerson[j].lastname);
                if (k>0){
                   temp=objPerson[i].lastname;
                    objPerson[i].lastname=objPerson[j].lastname;
                }
            }
        }


 }

    public int search (String lastname){

       for(  int i=0; i<100; i++)
          if( p==i)
              return p;
        return -1;
    }
    public void remove(String lastname){
        p=search(lastname);
        objPerson[p].name=null;
         objPerson[p].lastname=null;
          objPerson[p].phone=null;
}
    public void edit(String name,String lastname,String phone,String lastname1){
p=search(lastname1);
}
    public int menu()throws Exception{
        System.out.println("1=> Add Person");
        System.out.println("2=> Search Person");
        System.out.println("3=> Remove Person ");
        System.out.println("4=> Edit Person");
        System.out.println("5=> sort Phonebook");
        System.out.println("6=> Exit Phonebook");
        int choice=input.nextInt();
      return choice;
    }
}

----------


## java_nith

یک کد کوچولو هم من نوشتم


class PhoneBook{
    private String fName, lName;
    private String areaCode = "0098";
    private int number;
    
PhoneBook(String fName, String lName, int number, String areaCode){
    this.fName = fName;
    this.lName = lName;
    this.number = number;
    this.areaCode = areaCode;
}

public void setName(String fName, String lName){
    this.fName = fName;
    this.lName = lName;
}
public String getName(){
    return ""+this.fName+" "+lName;
}
public void setNumber(int number){
    this.number = number;
}
public int getNumber(){
    return this.number;
}
public String getAreaCode(){
    return this.areaCode;
}
public String toString(){
    return getName()+"\n"+getAreaCode()+" "+getNumber();
}
}

----------


## erfan_77

سلام من هم می خوام یه کد دفترچه تلفن بنویسم که 2 تا دیتا فیلد نام و شماره رو می گیره برای 20 نفر که به صورت فایل هستند شماره و نامشون قابلیت اینزرت دلیتو سرچ  و ادیت رو داشته باشه و گرافیکی هم باشه ممنون می شم تگه بتونین کمکم کنید 
 :قلب:  :قلب:

----------


## vahid-p

> سلام من هم می خوام یه کد دفترچه تلفن بنویسم که 2 تا دیتا فیلد نام و شماره رو می گیره برای 20 نفر که به صورت فایل هستند شماره و نامشون قابلیت اینزرت دلیتو سرچ  و ادیت رو داشته باشه و گرافیکی هم باشه ممنون می شم تگه بتونین کمکم کنید


دوست عزیز به تاریخ پست دقت کنید. سال 1388، یعنی 10 سال قبل!
پس اینجا جوابی نیست. سوالتون رو جزئی و مربوط به مفاهیم در یک تاپیک جداگونه بنویسید، چیزایی که خودتون میدونید رو هم بنویسید. اینکه یک دفترچه تلفن میخواید با جزئیات که چند تا فیلد داره و گرافیکی و... باشه بیشتر شبیه تمرین درسی هست که پاسخ داده نمیشه. شما باید مسئله رو جوری طرح کنید که حل تمرین نباشه هر چند جوابی که میگیرید به حل تمرینتون میتونه کمک کنه.

----------

