Avatar billede joki Mester
10. februar 2005 - 22:13 Der er 5 kommentarer og
1 løsning

oprette objekt ud fra navn som bruger indtaster

Hej

Er det muligt at bede brugeren indtast en String for så at bruge den tekst brugeren indtaster som navn på det objekt der oprettes.

bliver ved med at få fejlen at datatyper ikke stemmer overens. Dette er forståeligt nok. Har derfor prøvet med div cast forsøg, men det ser ikke ud til at virke.

på forhånd tak
Avatar billede arne_v Ekspert
10. februar 2005 - 22:15 #1
Det kan du ikke.

Men du kan gemme en entry i en HashMap med det navn brugeren indtastede og
det er ofte lige så godt.
Avatar billede joki Mester
11. februar 2005 - 14:47 #2
ok, det må jeg kigge på når jeg bliver lidt mere erfaren eller kan du forklare
hvordan HashMap virker ?.
Smid et svar så giver jeg point for endnu et hurtigt svar.
Avatar billede arne_v Ekspert
11. februar 2005 - 14:51 #3
HashMap hm = new HashMap();
hm.put("navn", "Arne");

så vil

(String)hm.get("navn")

returnere "Arne"
Avatar billede arne_v Ekspert
11. februar 2005 - 14:51 #4
svar
Avatar billede joki Mester
11. februar 2005 - 15:20 #5
kan du give et eksempel på hvordan man kan oprette et objekt og gemme det indtastede navn fra brugeren i en HashMap, for senere at lade brugere indtaste det navn som en metode kaldes fra.
Avatar billede arne_v Ekspert
11. februar 2005 - 15:59 #6
import java.io.*;
import java.util.*;

public class MemDB {
    public static void main(String[] args) throws Exception {
        HashMap hm = new HashMap();
        System.out.println("Du indlæser nu et antal navne/værdier - brug retur for afslut");
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String key;
        String value;
        while(true) {
            System.out.print("Indtast navn: ");
            key = br.readLine();
            if(key.equals("")) break;
            System.out.print("Indtast værdi: ");
            value = br.readLine();
            if(value.equals("")) break;
            hm.put(key, value);
        };
        System.out.println("Du søger nu efter navne - vrug retur for afslut");
        while(true) {
            System.out.print("Indtast navn: ");
            key = br.readLine();
            if(key.equals("")) break;
            if(hm.get(key) != null) {
                System.out.println("Værdi = " + hm.get(key));
            } else {
                System.out.println("Findes ikke");
            }
        };
    }
}
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