tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
17
ZUGRIFFE
611
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    Hi ich habe folgenden Code:

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    
                BufferedWriter schreibe = null;
                schreibe = new BufferedWriter(new FileWriter("TestCase.html", true));
     
                //String successful = "The test case is successful";
                String notsuccessful= "The test case was not successful";
                int anzahl = 0;
                if (0 != testCase_message.length()) {
                    for (int index = testCase_message.indexOf(testCase_message, 0); index != -1; index = notsuccessful
                            .indexOf(notsuccessful, index + 1)) {
                        anzahl++;
                    }
                }
                schreibe.write("Nicht erfolgreiche Testfälle: " + anzahl + " TEST");
     
                for (TestCase testCase : testCaseList) {
                    System.out.println(testCase);
                    
                
                    
                    String testCase_id=testCase.getId();
                    String testCase_title=testCase.getTitle();
                    String testCase_url=testCase.getUrl();
                    String testCase_type=testCase.getType();
                    String testCase_message=testCase.getResultMessage();
     
                        
                    
                
     
            
                    
                    
                    schreibe.write("<h2>");
                    for (int i=0; i<testCase_id.length(); i++){
                        
                        schreibe.write((byte)testCase_id.charAt(i));
     
                        
                        
     
                    }
                    schreibe.write("</h2>");
                    schreibe.newLine();
                    schreibe.write("Titel: ");
                    for (int i=0; i<testCase_title.length(); i++){
        
                        schreibe.write((byte)testCase_title.charAt(i));
     
                    }
                    schreibe.write("<br/><br/>");
                    schreibe.newLine();
                    schreibe.write("URL: ");
                    for (int i=0; i<testCase_url.length(); i++){
                        schreibe.write((byte)testCase_url.charAt(i));
     
                    }
                    schreibe.write("<br/><br/>");
                    schreibe.newLine();
                    schreibe.write("Type: ");
                    for (int i=0; i<testCase_type.length(); i++){
                        schreibe.write((byte)testCase_type.charAt(i));
     
                    }
                    schreibe.write("<br/><br/>");
                    schreibe.newLine();
                    schreibe.write("Message: ");
                    for (int i=0; i<testCase_message.length(); i++){
                        schreibe.write((byte)testCase_message.charAt(i));
     
                    }
                    schreibe.write("<br/><br/>");
                    schreibe.newLine();
                    
                    
     
                }
                
                
                
                
                schreibe.close();
                System.out.println("Datei erstellt.");

    So ich möchte gerne successful und notsuccesful in dem testCase_message herausliest wie oft es das gibt.
    Ich will s aber nur einmal vor der for schleife machen, sodass ich eine genaue Anzahl vorher habe. So setze ich das alles vor die for schleife erkennt der die Variable testCase.getMessage(); nicht mehr, habe eingeis schon versucht, aber nie kam es zum erfolg. Brauche bitte Hilfe.
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Kannst du deine Frage bitte klar und für jederman verständlich schreiben?

    Danke
     

  3. #3
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    Okay.

    Ich will das der String "testCase_message" nach den String "successful" durchsucht wird und am Ende soll es anzeigen wie oft dieser String vorhanden ist.

    Wie mache ch das am besten?!
     

  4. #4
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Ok, damit kann ich was anfangen.

    Also ich hätte folgenden Vorschlag zu machen, wie du es lösen könntest.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
        /**
         * @param string
         * @param searched
         * @return
         */
        public int countWord(String string, String searched, boolean caseSensitive) {
            if(!caseSensitive) {
                string = string.toLowerCase();
                searched = searched.toLowerCase();
            }
            
            int startIndex = 0;
            int wordIndex = 0;
            
            int count = 0;
            while((wordIndex = string.indexOf(searched, startIndex)) != -1) {
                startIndex = wordIndex + searched.length();
                count++;
            }
            return count;
        }
     

  5. #5
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    Okay jap manchmal überlege ich nicht so beim Schreiben...

    Und das kann ich dann nutzen vor der "for" Schleife und dann müsste es gehen?!
     

  6. #6
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Diese Methode zählt die Anzahl der Wörter/Zeichenketten (Parameter: searched), die in dem übergebenen String (Parameter: string) enthalten sind und gibt anschließend die Anzahl (count) zurück.

    Daher würde ich es meiner Meinung nach durch diesen Teil von deinem Code ersetzen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    int anzahl = 0;
                if (0 != testCase_message.length()) {
                    for (int index = testCase_message.indexOf(testCase_message, 0); index != -1; index = notsuccessful
                            .indexOf(notsuccessful, index + 1)) {
                        anzahl++;
                    }
                }
     

  7. #7
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    das geht nicht da es in der mainmethode ist, würde probleme mit sich bringen.
     

  8. #8
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Also das einzigste Problem, das ich sehen kann, dass es mit sich bringen würde wäre, dass du die Methode von mir static machen musst.
     

  9. #9
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    Eclipse zeigt wenn ich das ersetze von mir an:

    public int countWord(xx ,...) //die anderen kommata auch rot
    ...
    return count;

    Das sind die Fehlermeldungen von Eclipse, wenn ich die Vroschläge von Eclipse nachgehe ist das "public" weg. Bei den Kommas in den (..) erwaretet man ";" und keine ","...und bei return mächte er die main anstatt void zu int mchen...
     

  10. #10
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Du machst es also genau so?

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    
    public static void main(String[] args) {
            // .......
            
            BufferedWriter schreibe = null;
            schreibe = new BufferedWriter(new FileWriter("TestCase.html", true));
     
            //String successful = "The test case is successful";
            String notsuccessful= "The test case was not successful";
            int anzahl = 0;
            if (0 != testCase_message.length()) {
                countWord(testCase_message, "is successful", true);
            }
            schreibe.write("Nicht erfolgreiche Testfälle: " + anzahl + " TEST");
     
            for (TestCase testCase : testCaseList) {
                System.out.println(testCase);
                
                String testCase_id=testCase.getId();
                String testCase_title=testCase.getTitle();
                String testCase_url=testCase.getUrl();
                String testCase_type=testCase.getType();
                String testCase_message=testCase.getResultMessage();
     
                schreibe.write("<h2>");
                for (int i=0; i<testCase_id.length(); i++){
                    schreibe.write((byte)testCase_id.charAt(i));
                }
                schreibe.write("</h2>");
                schreibe.newLine();
                schreibe.write("Titel: ");
                for (int i=0; i<testCase_title.length(); i++){
     
                    schreibe.write((byte)testCase_title.charAt(i));
     
                }
                schreibe.write("<br/><br/>");
                schreibe.newLine();
                schreibe.write("URL: ");
                for (int i=0; i<testCase_url.length(); i++){
                    schreibe.write((byte)testCase_url.charAt(i));
     
                }
                schreibe.write("<br/><br/>");
                schreibe.newLine();
                schreibe.write("Type: ");
                for (int i=0; i<testCase_type.length(); i++){
                    schreibe.write((byte)testCase_type.charAt(i));
     
                }
                schreibe.write("<br/><br/>");
                schreibe.newLine();
                schreibe.write("Message: ");
                for (int i=0; i<testCase_message.length(); i++){
                    schreibe.write((byte)testCase_message.charAt(i));
     
                }
                schreibe.write("<br/><br/>");
                schreibe.newLine();
            }
     
            schreibe.close();
            System.out.println("Datei erstellt.");
            
            // .......
        }
        
        /**
         * @param string
         * @param searched
         * @return
         */
        public static int countWord(String string, String searched, boolean caseSensitive) {
            if(!caseSensitive) {
                string = string.toLowerCase();
                searched = searched.toLowerCase();
            }
            
            int startIndex = 0;
            int wordIndex = 0;
            
            int count = 0;
            while((wordIndex = string.indexOf(searched, startIndex)) != -1) {
                startIndex = wordIndex + searched.length();
                count++;
            }
            return count;
        }
     

  11. #11
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    nein so hatte ich es nicht...
     

  12. #12
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    Jetzt kommen fehler bei

    if (0 != testCase_message.length()) {
    countWord(testCase_message, "is successful", true);

    die testCase_message ist jetzt markiert.

    Aber auch logisch, da diese erst 2 oder 3 Zeilen weiter unten deklariert werden...

    bzw. habe ich irgendwo einen dicken DEnkfehler drin..
     

  13. #13
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Vielleicht überdenkst du die Struktur deines Programms nochmal ein wenig.
     

  14. #14
    mockauer mockauer ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    15
    kann ich nicht...keine Zugriffe...darf nur in dieser Datei arbeiten
     

  15. #15
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Was haben die Zugriffsrechte mit der Struktur/dem Aufbau von deinem Programm zu tun?

    Vielleicht erklärst du deinen Sachverhalt mal ein bischen näher, damit man dir auch richtig weiterhelfen kann.
     

Ähnliche Themen

  1. Length eines Strings
    Von Olaf Lehmann im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 17.07.10, 15:39
  2. Zeilenausgabe eines Strings
    Von Benzol im Forum PHP
    Antworten: 4
    Letzter Beitrag: 25.02.06, 16:30
  3. Teile eines Strings
    Von duermer im Forum Java
    Antworten: 1
    Letzter Beitrag: 30.10.04, 18:04
  4. ausschneiden eines strings
    Von ChuloGT im Forum PHP
    Antworten: 3
    Letzter Beitrag: 20.10.04, 16:33
  5. Verschlüsseln eines Strings(XOR)
    Von mowl im Forum C/C++
    Antworten: 15
    Letzter Beitrag: 25.04.04, 13:13