2015-04-21 1 views
0

Я не эксперт в java, но мне нужно решить эту проблему/деятельность для моей темы курса, вот почему мне действительно нужна ваша помощь. У меня проблема программирования. Дело в том, что я не могу понять, какой метод или коды Java следует использовать для этой проблемы:Массивы? или нет?

Создайте адресную книгу класса, которая может содержать 100 записей имени, адреса, номера контакта и адреса электронной почты. Вы должны предоставить следующие методы для адресной книги:

Добавить запись, удалить запись, Просмотреть записи и обновление въездной

UPDATE: это коды, которые я получил до сих пор

Я думаю, я мог бы использовать 2d массив для этого, но, как только я начинаю кодирование , я не могу продолжать дальше, я не знаю, можно ли использовать массив или нет в этом виде деятельности. Я пробовал искать другие коды java, но чем больше я узнал новые методы или коды, которые могли бы быть возможны, тем больше я путался на каких кодах я должен использовать!

если кто-нибудь может мне помочь построить кодировку для этой деятельности я бы очень apprecaite и, безусловно, изучить, как ад/Вы можете сделать это! потому что им действительно интересно изучать Java, мне просто нужна помощь, чтобы понять, как я должен это делать. заранее спасибо!

ЭТО ТАКИЕ КОДЫ Я получил SO FAR: способность этих программ только для добавления редактирования просмотра и удаления ИМЕНА, РМКО еще выяснить, как добавить размеры в мой массив или я должен добавить? или если нет массива? Как? как я должен ответить на эту деятельность перед ТТО своих требований :(

package javaactivities; 
import java.util.*; 
import java.util.Scanner; 

public class AddressBook { 
     static List<String> l=new ArrayList<String>(); 

    public static void main(String[] args) { 
     Scanner in=new Scanner(System.in); 
     boolean y=true; 
do{ 
    System.out.println("Enter \n1 to add an entry\n2 to edit entry"); 
    System.out.println("3 to delete an entry\n4 to view entries\n5 to exit"); 
    System.out.print("enter your choice: "); 
    int choice=in.nextInt(); 
    switch(choice) 
    { 
     case 1: 
      insert(); 
      break; 
     case 2: 
      edit(); 
      break; 
     case 3: 
      delete(); 
      break; 
     case 4: 
      print(); 
      break; 
     case 5: 
      toexit(); 
      break; 
     default: 
      System.out.println("bad input"); 
      break; 
    } 
    System.out.println("want to process more? y/n"); 
    String x=in.next(); 
    char ch=x.charAt(0); 
    if(ch=='n') 
     y=false; 
} 
while(y!=false); 

} 

static public void insert(){ 


    Scanner in=new Scanner(System.in); 

    boolean y=true; 
    do{ 
     System.out.println("enter name to add in list"); 
     String entry=in.next(); 
      l.add(entry); 
     System.out.println("want to insert more?y/n"); 
     String x=in.next(); 
     char ch=x.charAt(0); 
     if(ch=='n') 
      y=false; 
    } 
    while(y!=false); 

}

static public void print(){ 


    if(l.isEmpty()) 
     System.out.println("list is empty "); 
    else 
     System.out.println("members of lists are:"); 
     for(int i=0 ; i<l.size();i++) 
      System.out.println("Entry "+i+" : "+ l.get(i)+" "); 

}

static public void edit(){ 


    Scanner in=new Scanner(System.in); 

    String num2; 
    System.out.println("enter name you want to add"); 
    num2=in.next(); 
     try{ 
      System.out.println("enter entry # of the name you want to edit"); 
      int num1=in.nextInt(); 
      l.set(num1, num2); 
     }catch(IndexOutOfBoundsException e){ 
       System.err.println("caught IndexOutOfBoundsException: specified position is empty "+e.getMessage()); 
      } 

     } 



static public void delete(){ 


    Scanner in=new Scanner(System.in); 
    System.out.println("enter entry # you want to delete"); 
    int num=in.nextInt(); 
    l.remove(num); 

} 

static public void toexit(){ 

    System.exit(0); 
} 

}

+1

* Вступление * класс (с 'name',' address' и т.д. полей) , 'AddressBook' также является классом, в котором хранится' Entry 'in, скажем,' ArrayList ' –

+0

привет, Дмитрий, не могли бы вы помочь мне, я брошу знакомство о классах, методах, методах вызова, настройке или методах получения. НО я не знаю, как мне хранить объекты (имя, добавить и т. Д.), А также удалять, редактировать и просматривать введенные записи. Я думаю об использовании 2d-массивов, но я понятия не имею, как мне его использовать. – SOL

+0

Это 1-й массив записей. – Michas

ответ

0

Во-первых, осуществить все необходимые классы, два в вашем случае:

  • Addressbook
  • Вступление

скелет может быть что-то вроде этого

public final class AddressBook { 
    public static final class Entry { 
    private String name; 
    private String address; 
    private String contactNumber;  
    private String email; 

    private Entry(String name, String address, String contactNumber, String email) { 
     this.name = name; 
     this.address = address; 
     this.contactNumber = contactNumber; 
     this.email = email; 
    } 

    public String getName() {return name;} 
    public String getAddress() {return address;} 
    public String getContactNumer() {return contactNumber;} 
    public String getEmail() {return email;} 
    } 

    private ArrayList<Entry> entries = new ArrayList<Entry>(); 

    public AddressBook() {;} 

    public int size() {return entries.size();} 
    public int get(int index) {return entries.get(index);} 
    ... 
    public Entry add(String name, String address, String contactNumber, String email) { 
    Entry entry = new Entry(name, address, contactNumber, email); 

    entries.add(entry); 

    return entry; 
    } 
    ... 
} 

Для того, для реализации viewAll() вы можете выбрать переопределить toString() методы в обоих классах, чтобы delete() это seemes, что вы должны реализовать find() и т.д. Тогда просто использовать эти классы

public final class Main { 
    private static AddressBook book = new AddressBook(); 

    public static void main(String[] args) { 
     ... 
     switch(choice) { 
     case 1: 
      book.add(...); 
      break; 
     case 2: 
      book.delete(...); 
      break; 
     ... 
     } 

     System.out.println(book.toString()); 
     ... 
    } 
    } 
+0

спасибо, что нашли время сэр Дмитрий! :) У меня была моя работа, хотя и отличалась от ваших кодов. Я ценю это и буду изучать эти коды, которые вы указали! Спасибо! – SOL

0

Как у вас есть несколько записей для хранения моего предложение - связанный список. Связанный список - это структура данных, в которой вы можете хранить несколько записей. Java предоставляет

http://www.mycstutorials.com/articles/data_structures/linkedlists Эта ссылка поможет вам связать список.

+0

Я уже сделал несколько кодов, которые я лично пробовал, но эти коды запрашивают только имена магазинов adn, мне все равно нужно выяснить, как я могу добавить адрес, номер и адрес электронной почты в моем массиве. Благодарю. – SOL

+0

Если вы считаете, что работать со связанным списком сложно. имеют несколько массивов. Массив для имен, массив для телефонных номеров ... для записей одного человека имеет одинаковый индекс во всех массивах. – Sanke

+0

На самом деле я не могу удерживать, используя связанный список. но я все еще пытаюсь быть знакомым с той ссылкой, которую вы предоставили. в ожидании спасибо за то, что нашли время, чтобы помочь. – SOL

Смежные вопросы