03. april 2002 - 21:46Der er
9 kommentarer og 1 løsning
Jeg får en nullpointerexception efter 3 forsøg?
Jeg har skrevet dette program hvor jeg propper 3 brugere i en array og så er det meningen at man skal kunne skrive den rigtige bruger ind før man kan komme ind, men jeg får en nullpointerexception efter 3 forsøg?
import javagently.*; import java.io.*;
class Signup {
Signup()throws IOException {
Bruger password[] = new Bruger[10];
int index=0;
password[0] = new Bruger("Bo","Hansen"); password[1] = new Bruger("Maria","Olsen"); password[2] = new Bruger("Søren","Petersen");
Display d = new Display("Welcome to JAVA-Signup");
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
men siden løkken ikke incrementerer variablen index gør det vel ikke så meget :-))
Jeg kender ikke pakken javagently; men kunne det være at du får linieskift eller carriage-return med forenden af den indtastede streng når du bruger d.getString(...) ?
name = d.getString("Username"); kode = d.getString("Password"); // bruger har indtaste noget, nu skal vi // se om det står i listen index = 0;
if name.equals("jeg opgiver") { // du skal ALTID give folk en chance for at slippe væk brugerGavOp = true; } else { while( index<password.length && !password[index].brugerId.equals(name) ) { if ( password[index].brugerId.equals(name) && password[index].kode.equals(kode) ) { brugerOK = true; } index += 1; } } }
} public static void main(String[] aslan)throws IOException { new Signup(); } } class Bruger { String brugerId,kode;
Bruger(String b,String k) { brugerId = b; kode = k;
} public String toString() { return brugerId+" "+kode; } }
name = d.getString("Username"); kode = d.getString("Password");
} Prøv istedet med:
while(d.getString("Username") == null d.getString("Password") == null) { d.ready(" Tryk ready når de har indtastet n"); } name = d.getString("Username"); kode = d.getString("Password"); int result = checkBruger(); // gå videre på basis af result;
int checkBruger(){ for(index=0;!password[index].brugerId.equals(name);index++) { if(password[index].kode.equalskode)) // password ok; return 0; else // Password forkert return 1; } // brugernavn findes ikke return 2; }
String name; String kode; Bruger password[] = new Bruger[10];
int index=0; int result;
Signup()throws IOException {
password[0] = new Bruger("Bo","Hansen"); password[1] = new Bruger("Maria","Olsen"); password[2] = new Bruger("Søren","Petersen");
Display d = new Display("Welcome to JAVA-Signup");
d.prompt("Username","xxxx");
d.prompt("Password","xxxx");
d.ready(" Tryk ready når de har indtastet n");
do
{ name = d.getString("Username"); kode = d.getString("Password"); result = checkBruger(); if (result == 1){ d.ready(" Password forkert"); } if (result == 2){ d.ready(" Bruger ukendt"); }
}while (result != 0); }
int checkBruger(){ for(index=0; index < password.length ;index++) { if(password[index].kode.equals(kode)) // password ok; return 0; else // Password forkert return 1; } // brugernavn findes ikke return 2; }
public static void main(String[] aslan)throws IOException { new Signup(); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.