ERLEDIGT
NEIN
NEIN
ANTWORTEN
17
17
ZUGRIFFE
611
611
EMPFEHLEN
-
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.
-
10.08.11 13:50 #2
Kannst du deine Frage bitte klar und für jederman verständlich schreiben?
Danke
-
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?!
-
10.08.11 14:05 #4
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; }
-
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?!
-
10.08.11 14:14 #6
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++; } }
-
das geht nicht da es in der mainmethode ist, würde probleme mit sich bringen.
-
10.08.11 14:21 #8
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.
-
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.08.11 14:36 #10
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; }
-
nein so hatte ich es nicht...
-
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..
-
10.08.11 14:47 #13
Vielleicht überdenkst du die Struktur deines Programms nochmal ein wenig.
-
kann ich nicht...keine Zugriffe
...darf nur in dieser Datei arbeiten
-
10.08.11 14:58 #15
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
-
Length eines Strings
Von Olaf Lehmann im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 17.07.10, 15:39 -
Zeilenausgabe eines Strings
Von Benzol im Forum PHPAntworten: 4Letzter Beitrag: 25.02.06, 16:30 -
Teile eines Strings
Von duermer im Forum JavaAntworten: 1Letzter Beitrag: 30.10.04, 18:04 -
ausschneiden eines strings
Von ChuloGT im Forum PHPAntworten: 3Letzter Beitrag: 20.10.04, 16:33 -
Verschlüsseln eines Strings(XOR)
Von mowl im Forum C/C++Antworten: 15Letzter Beitrag: 25.04.04, 13:13





Zitieren
Login





