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.