Hi,
hab mich jetzt auch mal registriert hier.
Hab vor 2 Tagen schonmal gepostet unter nem Gastaccount da wurde mir sehr schnell geholfen nun hab ich aber wieder ein Problem
Und zwar geht es um folgendes Programm mit den weiter unten aufgeführten Methoden.
Das Programm soll halt ne Nummer einlesen und mit einer anderen Nummer die ersten 5 Stellen vergleichen.
Also:
112546698 (Nummer1)
11254 (identisch also true)
59878 (nicht identisch also false)
Mein Problem ist aber er prüft nur die ersten 4 Ziffern und die 5te ist vollkommen egal also er erkennt auch:
11259 als richtig an ... an der Abbruchbedingung liegt es nicht und ich finde meinen Fehler einfach nicht
[Java]
public static void main(String args[])
{
char auswahl = 'j';
do
{
p("Bitte Kontonummer eingeben: ");
long ktonr = liesLong();
long[] kto = longZuArray(ktonr);
boolean abfrage = false;
while(!abfrage)
{
p("Bitte Pin eingeben: ");
long[] pin = longZuArray(liesLong());
abfrage = pinTest(kto, pin);
if(abfrage)
break;
else
pln("Die eingegebene Pin ist nicht korrekt!");
}
neuerKunde(ktonr);
pln();
p("Naechster Kunde (j/n)?");
auswahl = liesChar();
pln();
}while(auswahl == 'j' || auswahl == 'J');
}
[/Java]
[Java]
public static long[] longZuArray(long zahl)
{
long[] temp = new long[String.valueOf(zahl).length()];
for(int i = 0; i<temp.length; i++)
{
temp = zahl%10;
zahl /= 10;
}
long[] array = new long[temp.length];
for(int i = 0; i < temp.length; i++)
{
array = temp[temp.length-1-i];
}
return array;
}
public static boolean pinTest(long[] kto, long[] pin)
{
boolean result = false;
if(pin.length != 5)
return false;
else
{
for(int i = 0; i<5; i++)
{
if(kto == pin)
result = true;
else
result = false;
break;
}
return result;
}
}
[/Java]
hab mich jetzt auch mal registriert hier.
Hab vor 2 Tagen schonmal gepostet unter nem Gastaccount da wurde mir sehr schnell geholfen nun hab ich aber wieder ein Problem
Und zwar geht es um folgendes Programm mit den weiter unten aufgeführten Methoden.
Das Programm soll halt ne Nummer einlesen und mit einer anderen Nummer die ersten 5 Stellen vergleichen.
Also:
112546698 (Nummer1)
11254 (identisch also true)
59878 (nicht identisch also false)
Mein Problem ist aber er prüft nur die ersten 4 Ziffern und die 5te ist vollkommen egal also er erkennt auch:
11259 als richtig an ... an der Abbruchbedingung liegt es nicht und ich finde meinen Fehler einfach nicht
[Java]
public static void main(String args[])
{
char auswahl = 'j';
do
{
p("Bitte Kontonummer eingeben: ");
long ktonr = liesLong();
long[] kto = longZuArray(ktonr);
boolean abfrage = false;
while(!abfrage)
{
p("Bitte Pin eingeben: ");
long[] pin = longZuArray(liesLong());
abfrage = pinTest(kto, pin);
if(abfrage)
break;
else
pln("Die eingegebene Pin ist nicht korrekt!");
}
neuerKunde(ktonr);
pln();
p("Naechster Kunde (j/n)?");
auswahl = liesChar();
pln();
}while(auswahl == 'j' || auswahl == 'J');
}
[/Java]
[Java]
public static long[] longZuArray(long zahl)
{
long[] temp = new long[String.valueOf(zahl).length()];
for(int i = 0; i<temp.length; i++)
{
temp = zahl%10;
zahl /= 10;
}
long[] array = new long[temp.length];
for(int i = 0; i < temp.length; i++)
{
array = temp[temp.length-1-i];
}
return array;
}
public static boolean pinTest(long[] kto, long[] pin)
{
boolean result = false;
if(pin.length != 5)
return false;
else
{
for(int i = 0; i<5; i++)
{
if(kto == pin)
result = true;
else
result = false;
break;
}
return result;
}
}
[/Java]