Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Göra en funktion att spara adressbok i java

Skapad av Eroxxie, 2014-04-10 20:41 i Webbutveckling & Programmering

3 099
3 inlägg
0 poäng
Eroxxie
Visningsbild
P 30 Hjälte 283 inlägg
0
Tjena!
Jag kodar en adressbok i Java. Men har tänkt göra en sparningsfunktion. Vad funktionen ska göra är att när jag skriver in ett namn, telefonnummer och adress, ska den spara den i listan så när jag skriver "list" (som ska lista alla namn) också kunna visa den nya kontakten.

För mer förståelse uppbyggnaden ser ut har jag hela min kod här:

Ett stycke javascript-kod:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class AddressBook {
public static String[][] ad = new String[20][3]; // Initiera adressboksarray

public static void init(){ //initiera variabler för test
int i;

for (i=0; i < 20; i++){
ad[i][0]="";
}

ad[0][0]="Erik"; ad[0][1]="070-12344123"; ad[0][2]="Gågatan 23";
ad[1][0]="Olle"; ad[1][1]="070-2323456"; ad[1][2]="Trololvägen 44";
ad[2][0]="Kalle"; ad[2][1]="070-2323789"; ad[2][2]="Hejgatan 3";

}
public static void list(){ // Listar kontakter
int i=0;
while (i<ad.length)
{
if (ad[i][0]!="") printad(i);

i++;
}
}
private static void printad(int pos){ //Funktion-Skriver ut alla kontakter

System.out.print(ad[pos][0]+" ");
System.out.print(ad[pos][1]+" ");
System.out.println(ad[pos][2]);

}

public static void add(){ //Lägg till kontakt
int i=0;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
String a = null;
i=0;
while (ad[i][0]!="")
{
i++;
}

// NAMN
System.out.println("Name?: ");
try {
a = reader.readLine();//läser in namnet
} catch (IOException e) {
e.printStackTrace();
}

ad[i][0]=a;
// TELEFON
System.out.println("Phonenumber?: ");
try {
s = reader.readLine();//läser in namnet
} catch (IOException e) {
e.printStackTrace();
}

ad[i][1]=s;
// ADRESS
System.out.println("Address?: ");
try {
s = reader.readLine();//läser in namnet
} catch (IOException e) {
e.printStackTrace();
}

ad[i][2]=s;
System.out.println(a +" is succesfully added!");
}


public static void delete() { //Ta bort en kontakt
int i;
boolean hit=false;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
System.out.println("Write the name you want to delete: ");
try {
s = reader.readLine();//läser in namnet
} catch (IOException e) {
e.printStackTrace();

}
i=0;
while (i<20 && hit==false)//söker efter namnet
{
if (s.equals(ad[i][0])) hit=true;
i++;
}
if (hit==true){
ad[i-1][0]=""; // Nollad
System.out.println(s +" is succesfully deleted!");
}
else
System.out.println(s +" is not found!");

}


public static void search(){ //Sök en kontakt
int i;
boolean hit=false;

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
System.out.println("Write the name you want to search for: ");
try {
s = reader.readLine();
} catch (IOException e) {
e.printStackTrace();

}
i=0;
while (i<20 && hit==false)//söker efter namnet
{
if (s.equals(ad[i][0])) hit=true;
i++;
}

if (hit==true)
printad(i-1); // Skriv ut kontakten
else
System.out.println("Could not find: " + s);



}

public static void update(){ //Ändra en kontakt i listan
int i;
boolean hit=false;

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
String a = null;
System.out.println("What name do you want to change?: ");
try {
a = reader.readLine();
} catch (IOException e) {
e.printStackTrace();

}
i=0;
while (i<20 && hit==false)//söker efter namnet
{
if (a.equals(ad[i][0])) hit=true;
i++;
}

if (hit==true) {

//NAMN
System.out.println("Write new name: ");
try {
s = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}

ad[i-1][0]=s;
// TELEFON
System.out.println("Write the new phonenumber: ");
try {
s = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}

ad[i-1][1]=s;
// ADRESS
System.out.println("Write the new address: ");
try {
s = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
ad[i-1][2]=s;
System.out.println(a +" is succesfully updated!");
}
else
System.out.println("Could not found " + a);

}



public static void sort(){

Arrays.sort(ad, new ArrayComparator(0, true));
System.out.println("Addressbook is sorted!");

}


}



Tacksam för svar och jag vet det var en jävligt lång kod, men det är enbart för att lätta till svaren :)

Gillar du mig? Jag gillar inte dig heller.

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Lobax
Visningsbild
P 30 Uppsala Hjälte 5 448 inlägg
0
Svar till Eroxxie [Gå till post]:
Spara dina kontakter i en ArrayList, istället för i en array med fördefinierad storlek. Då kan du ha så många kontakter du vill!
Ett stycke C#-kod:

import java.util.List

public void ArrayList<String[]> friends = new ArrayList<String[]>();

// Din kod går här

public void addFriends(){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String[] amigos = new String[3];
System.out.println("Name?: ");
amigos[0] = reader.readLine()

// OSV, kolla så att numren inte redan existerar också

friends.add(amigos);
}


Länge sedan jag höll på med java, men det borde typ se ut så. Sedan så är det bara att göra en funktion som itererar genom listan så får du det du vill ha.

Kolla ducumentationen också:
http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html


Eroxxie
Visningsbild
P 30 Hjälte 283 inlägg
Trådskapare
0

Svar till Lobax [Gå till post]:
Tack för hjälpen! Det funkade :)

Gillar du mig? Jag gillar inte dig heller.


Forum » Datorer & IT » Webbutveckling & Programmering » Göra en funktion att spara adressbok i java

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons