Gå til innhold

Anbefalte innlegg

Hei, holder på å lage et mobil arkiv og er nesten ferdig, sliter bare med en siste ting.

 

public void endreAbbonnement(String navn, int nyttNr, String nyType)
{
	boolean funnet = false;
	for(Abbonement a : abbonement)
	{
		String test = a.getNavn();
		if(test.equals(navn))
		{
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			funnet=true;
		}
		else
		{
			System.out.println("Finner ikke kunden.");
			break;
		}
	}
}

 

Hvis det ligger mer enn et nummer i arkivet så kan jeg ikke endre noen av dem.. Men om jeg bare har ett nummer i arkivet har jeg mulighet til å endre det.. Noen som kan se grunnen ut i fra dette eller trengere dere mer info?

Lenke til kommentar
Videoannonse
Annonse

Takker for tips!

Nå har jeg gjort noen endringer, og nå kan jeg endre alle jeg legger inn. Men hva skriver jeg da på slutten for å få frem feilmeldingen Ingen kunder med dette navnet om den ikke finner noen?

 

public void endreAbbonnement(String navn, int nyttNr, String nyType)
{
	boolean funnet = false;
	for(Abbonement a : abbonement)
	{
		String test = a.getNavn();
		if(test.equals(navn))
		{
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			funnet=true;
			break;
		}
		if(test.equals(navn))
		{
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			funnet = true;
			break;
		}

	}
}

 

Vet ikke om det var slik du mente jeg skulle gjør det pgdx, om dette er feil vil du vise meg ved et eksempel? Hatt java i et par mnd og vet ikke alltid hva folk mener uten ett eksempel ;)

Lenke til kommentar
public void endreAbbonnement(String navn, int nyttNr, String nyType) {
	boolean funnet = false;
	for(Abbonement a : abbonement) {
		String test = a.getNavn();
		if(test.equals(navn)) {
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			funnet=true;
			break;
		}
	}
	if (!funnet) {
			System.out.println("Fant ikke " + navn + "!!!");
	}
}

Lenke til kommentar
public void endreAbbonnement(String navn, int nyttNr, String nyType) {
	boolean funnet = false;
	for(Abbonement a : abbonement) {
		String test = a.getNavn();
		if(test.equals(navn)) {
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			funnet=true;
			break;
		}
	}
	if (!funnet) {
			System.out.println("Fant ikke " + navn + "!!!");
	}
}

 

Når jeg gjor det på denne måten og endret et abbonement kom det: Fant ikke navnet.. Men endringene ble gjort når jeg tok printalle.. Know what to do?

Lenke til kommentar

import java.util.ArrayList;

public class Arkiv
{
private ArrayList<Abbonement> abbonement;


public Arkiv()
{
	abbonement = new ArrayList<Abbonement>();
}

public void nyttAbbonement(String navn, int telefon, String type)
{
Abbonement ny = new Abbonement(navn, telefon, type);
abbonement.add(ny);
}



public void printAlle()
{
	for(int i=0; i<abbonement.size(); i++)
{
	Abbonement k = abbonement.get(i);
	k.print();
}
}

public int antallAbbonement()
{
return abbonement.size();
}

public void endreAbbonnement(String navn, int nyttNr, String nyType)
{
	boolean funnet = false;
	for(Abbonement a : abbonement)
	{
		String test = a.getNavn();
		if(test.equals(navn))
		{
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			funnet=true;
			break;
		}
		if (!funnet) {
			System.out.println("Fant ikke " + navn + "!");
		}

	}
}


public void finnAbbonement(String navn)
{
	boolean funnet = false;
	int index = 0;
	while(index<abbonement.size()&&(funnet != true))
	{
		Abbonement a = abbonement.get(index);
		if(navn.equals(a.getNavn()))
		{
			a.print();
			funnet = true;
		}

		else
		{
			System.out.println("Ingen kunder med dette navnet");
			break;
		}
}
}


}

 

Hjalp dette? :) (Jobber på gruppe med topic starter)

Endret av itwiz
Lenke til kommentar

Tok meg den frihet å indentere klassen, og endre noen småting.

 

Din if (!funnet) hadde på mystisk vis rotet seg inn igjen i for-løkken. Endret ArrayList til List. Gjorde om for (int i ...) -> til foreach. Returnerer ting istedenfor void rundt omkring.

 

Endret noe greier inni finnAbbonement og endre, tror jeg.

 

import java.util.ArrayList;
import java.util.List;

public class Arkiv {
private List<Abbonement> abbonement;

public Arkiv() {
	abbonement = new ArrayList<Abbonement>();
}

public void nyttAbbonement(String navn, int telefon, String type) {
	abbonement.add(new Abbonement(navn, telefon, type));
}

public void printAlle() {
	for (Abbonement a : abbonement) {
		a.print();
	}
}

public int antallAbbonement() {
	return abbonement.size();
}

public Abbonement endreAbbonnement(String navn, int nyttNr, String nyType) {
	for (Abbonement a : abbonement) {
		String test = a.getNavn();
		if (test.equals(navn)) {
			a.endreNummer(nyttNr);
			a.endreType(nyType);
			return a;
		}
	}
	System.out.println("Fant ikke " + navn + "!");
	return null;
}

public Abbonement finnAbbonement(String navn) {
	for (Abbonement a : abbonement) {
		if (navn.equals(a.getNavn())) {
			a.print();
			return a;
		}
	}
	System.out.println("Ingen kunder med dette navnet");
	return null;
}
}

Endret av pgdx
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...