Avatar billede imnewb Nybegynder
15. august 2005 - 23:51 Der er 8 kommentarer og
1 løsning

Java fejl, hvor?

Hvorfor udskriver den denne fejlmeddelse:

C:\roz>java program
Navn?
jk
Exception in thread "main" java.util.InputMismatchException
        at java.util.Scanner.throwFor(Unknown Source)
        at java.util.Scanner.next(Unknown Source)
        at java.util.Scanner.nextInt(Unknown Source)
        at java.util.Scanner.nextInt(Unknown Source)
        at program.main(program.java:8)

C:\roz>

ved ->


public class program{
public static void main(String[] arg) {

java.util.Scanner z = new java.util.Scanner(System.in);

System.out.println("Navn?");
int navn;
navn = z.nextInt();
System.out.println(""+navn+"");

    }
}
Avatar billede arne_v Ekspert
15. august 2005 - 23:54 #1
du læser navn ind som int - det skal nok læses ind som String
Avatar billede arne_v Ekspert
15. august 2005 - 23:55 #2
String navn = z.next();
System.out.println(navn);
Avatar billede imnewb Nybegynder
15. august 2005 - 23:56 #3
Så har javabog.dk lavet en fejl :)
Smid svar :o)
Avatar billede arne_v Ekspert
15. august 2005 - 23:57 #4
ok
Avatar billede imnewb Nybegynder
15. august 2005 - 23:58 #5
Taget fra bogen ->

Et program bliver selvfølgelig først rigtigt sjovt, hvis brugeren kan påvirke dets udførelse, f.eks. ved at programmet kan bede brugeren om at indtaste sin alder. Det kan gøres med:

public class AlderMedTastaturindlaesning
{
  public static void main(String[] arg)
  {
    java.util.Scanner tastatur = new java.util.Scanner(System.in);  // forbered

    System.out.println("Skriv din alder herunder og tryk retur:");
    int alder;
    alder = tastatur.nextInt();                    // læs et tal fra tastaturet

    if (alder >= 18) System.out.println("Du er myndig.");

    System.out.println("Du er " + alder + " år.");
  }
}
Avatar billede arne_v Ekspert
15. august 2005 - 23:59 #6
hov

alder er jo også et tal modsat navn !
Avatar billede imnewb Nybegynder
16. august 2005 - 00:00 #7
-- men sig mig, hvad gør jeg forkert her ?-)

public class program{
public static void main(String[] arg) {

java.util.Scanner z = new java.util.Scanner(System.in);

System.out.println("Navn?");
String navn, alder, adr;
navn = z.next();

System.out.println("Alder?");
alder = z.next();

System.out.println("Adresse?");
adr = z.next();
if (alder > 0){
System.out.println("Du er over 0 år! - "+navn+"");
    } else {
        System.out.println("Hmm");
    }

    }
}
Avatar billede imnewb Nybegynder
16. august 2005 - 00:01 #8
Ah, lavede alder til en int og fremkaldte via nextInt();
Avatar billede arne_v Ekspert
16. august 2005 - 00:03 #9
i Java er det meget vigtigt med de rigtige typer
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester