tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
1195
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bRainLaG bRainLaG ist offline Mitglied Silber
    Registriert seit
    Nov 2009
    Beiträge
    90
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    
     
    static A [] readStringArray(int indent){
            
            Scanner in = new Scanner(System.in);
            A[] aa;
            
            writetabs(indent);
            System.out.println("A[] aa: ");
            
            writetabs(indent+1);
            System.out.print("Array lesen: (new/null): ");
            if(in.nextLine().equalsIgnoreCase("new")){
                writetabs(indent+1);
                
                while(true){
                    
                    
                    System.out.print("Länge: ");
                    
                    if(in.hasNextInt()){
                     aa = new A [(in.nextInt())]; 
                        break;
                    }
                    
                    in.next();
                    writetabs(indent+1);
                    System.out.print("Falscher Wert! ");    
     
                }
                
                for(int i = 0; i < aa.length; i++){
                    writetabs(indent+1);
                    
                    while(true){
                        
                        System.out.print("Wert "+ i + ": " );
                        
                        if(in.hasNext()){
                            FEHLER aa[i] = in.next();
                             break;
                        }
                        
                        in.next();
                        writetabs(indent+1);
                        System.out.print("Falscher Wert! ");
                        
                        }
                    }
                }
            return aa;

    Ich habe bei der Stelle die ich markiert habe einen Fehler, das er String nicht in A konvertieren kann. Was ich nun frage ist, was bedeutet das und wie kann ich das anpassen
     

  2. #2
    RoCMe RoCMe ist offline Mitglied Gold
    Registriert seit
    Dec 2007
    Beiträge
    193
    Hallo!

    Die Methode in.next() liefert einen String zurück. Also eine Zeichenkette. Jetzt versuchst du, diesen String in dein Array zu schreiben. Aber vorher hast du ja definiert, dass dieses Array nur "A"s enthalten soll... Was erwartest du denn, was passiert?

    Wenn ich deine Sammlung Matchbox-Autos für dich verwalte, und du mir dann plötzlich aufträgst, deinen Kleiderschrank zu speichern, würde ich mich auch beschweren

    Du musst also entweder aus dem String erst ein A erzeugen, wie das geht, hängt davon was das A denn nun eigentlich ist - oder aber du speicherst in dem Array direkt die Strings ab, und keine As.

    Btw: Ein "A" ist schnell geschrieben, aber nicht sonderlich aussagekräftig. Und deine while (true) Schleifen sind auch alles andere als schöner Programmierstil!

    Gruß,

    RoCMe
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 05.12.10, 23:07
  2. string einlesen und in Textbox ausgeben
    Von Dorschty im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 17.07.07, 14:09
  3. String einlesen, ausgeben, suchen, löschen
    Von C-Lerner im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 13.03.06, 09:58
  4. Textdatei einlesen und Werte in Listenfeld ausgeben
    Von Warszelur im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 19.08.05, 01:03
  5. Antworten: 3
    Letzter Beitrag: 16.12.03, 15:07