Tätigkeiten von bestimmten Wochentagen gesammelt ausgeben

Status
Nicht offen für weitere Antworten.

Screen

Bekanntes Mitglied
Hallo

Ich habe ein Problem ,das sich mit einem Script lösen lässt.

Nehmen wir an, ich habe ein Protokoll von 700 Seiten, in dem Protokoll werden Tage und die Tätigkeit an diesem Tag festgehalten. Ich will jetzt die aktivitäten von allen Montagen zusammen auf eine Seite bringen. Wie mache ich das jetzt? ohne lästiges suchen und dann per Hand rauskopieren ?

Mögliche Lösung: Ich kopiere den Text in ein javafenster oder eine variable und durchsuche alles nach dem String "Montag" und kopiere alles bis zum Punkt und sende es an einen anderen String in einem Array. Den Gebe ich dann aus , und das nach dem Einfügen in einer Schleife bis er alle "Montage " gefunden hat.

Wie setze ich das jetzt in java um ?
wie kann ich einen Text ( großen String ) von einer .doc datei durchsuchen und dann alle Monatage rausfinden und dann den Text zusammentragen? Wo weiß java ,wenn er alle Montage gefunden hat?

könnte mir jemand behilflich sein ? danke ^^
 
Zuletzt bearbeitet von einem Moderator:

Screen

Bekanntes Mitglied
Also du willst alle Vorkommen eines beliebigen Textes/Wortes in einer Datei auflisten?

Ja fast, ich will das Vorkommen einer Kategorie ( Montag) samt Inhalt des da neben relevanten stehenden Textes rauskopieren und dann auflisten ^^

@hdi
Sagen wir mal Format .txt oder .doc


Kann mir jemand helfen ? Oder ist das zu viel verlangt? bzw überhaubt nicht möglich ,was ich vorhabe ?
 

hdi

Top Contributor
Ich meinte nicht das File-Format, sondern wie die Daten im File gelistet sind.

zB:

Montag 23.02.09
bla
blub
Dienstag 24.02.09

...

Montag 30.02.09 <- lol ok dummes bsp ^^
foo

Also, damit du weisst wie du die Daten am besten rausparsen kannst, musst du ja wissen wie der Inhalt aufgebaut ist. Wenn du uns das sagen würdest, könnten wir dir sagen wie du es am besten anstellst.
 

0x7F800000

Top Contributor
Kinder, schreibt eure protokolle, private briefe & tagebücher in xml! :D

Wie man mit java .doc dateien verarbeiten kann weiß ich nicht und will's auch nicht wissen.

Aber wenn ein txt vorliegt, dann kann man dein problem wohl mit einem einzeiler-regex erschlagen, du muss einfach verraten, wie diese textdatei strukturiert ist.

Wenn das Fließtext ist, a la
"Und erinnert ihr euch noch an den Montag davor, der vor dem besagten Dienstag kam, wo wir makaronibilder gebastelt und plätzchen gebacken haben?"
dann kann man das aber ziemlich vergessen... :autsch:
 

Screen

Bekanntes Mitglied
Es ist doch so einfach.Lassen wir mal das Datum weg. Mal so ein Beispiel:

Montag: Heute habe ich einen Kuchen gebacken
Dienstag: An diesem Tag habe ich eine Torte gebacken
Mittwoch: Und an diesem schönen Mittwoch habe ich ein Brötchen gebacken
Donnerstag: usw..
Freitag:...
usw...


Ist es denn überhaubt möglich meine Idee umzusetzen? Das würde mich brennend interessieren.
 
Zuletzt bearbeitet:

hdi

Top Contributor
Natürlich geht das. Das folgende Bsp ist jetzt ausgelegt für Dateien die so formatiert sind wie eben von dir gesagt, also:

Tag:Aktivität (Zeilenweise)

Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Tests {

	public static void main(String[] args) {

		/* Map vorbereiten um Aktivitäten zu speichern */
		Map<String, List<String>> map = new HashMap<String, List<String>>();

		/* Daten einlesen */
		File file = new File("C:/MeineDaten.txt");
		try {
			BufferedReader reader = new BufferedReader(new FileReader(file));
			String zeile;
			while ((zeile = reader.readLine()) != null) {
				String tag = zeile.substring(0, zeile.indexOf(":"));
				String aktivitaet = zeile.substring(tag.length() + 1);
				if (!map.containsKey(tag)) {
					map.put(tag, new ArrayList<String>());
				}
				map.get(tag).add(aktivitaet);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		/* Daten ausgeben (ist jetzt nicht nach Wochentagen sortiert) */
		for (String tag : map.keySet()) {
			System.out.println("Aktivitäten an " + tag + "en :");
			for (String aktivitaet : map.get(tag)) {
				System.out.println("\t" + aktivitaet);
			}
		}

	}
}

Du brauchst also einen FileReader, indem du zeilenweise ausliest. Mit diversen String-Methoden, wie zB substring(), oder indexof(), oder auch über RegEx, kannst du dir die Daten rausholen. Man muss halt immer wissen, wie die Datei intern aussieht.
 
Zuletzt bearbeitet:

Screen

Bekanntes Mitglied
Danke aber...

Könntest du mir noch erklären wie :

String tag = zeile.substring(0, zeile.indexOf(":"));
String aktivitaet = zeile.substring(tag.length() + 1);

funktioniert. Besonders das mit (0,zeile.indexOf(":"))

Ein Hauptproblem ist auch ,dass manchmal ein Tag mehr als fünf Zeile hat und in der nächten Woche nur eine Zeile.
So ändert sich die Anzahl der Zeilen wöchntlich...das muss noch beachtet werden.

z.B.

Montag: Die Sonne scheint
Ich backe heute nichts.
Ich gehe sondern aus.

Wie kann ich das lösen ?

Und wie kann ich dann das Abfangen des Tages "Montag" einstellen ?
 
Zuletzt bearbeitet:

hdi

Top Contributor
String#substring(int incl, int excl)

ist eine Methode, die zu dem String, auf dem sie aufgerufen wurde, einen Teilstring zurückliefert (Achtung! Verändert den ursprünglichen String nicht!).
Dabei ist incl der Index des Buchstaben, der den Anfang des Teilstrings bildet, und excl der Index des Buchstaben, vor dem der Teilstring aufhört (exklusiv also).

Bsp:

Java:
String s1 = "hallo";
String s2 = s1.substring(0,3); // s2 = "hal"

Der zweite Parameter ist optional. Lässt man ihn weg geht es bis zum Ende des ursprünglichen Strings:

Java:
String s3 = s1.substring(1); // s3 = "allo"

String#indexOf(String s)

Diese Methode liefert den (ersten) Index des gesuchten Strings in dem String.
Bsp:

Java:
int indexL = s1.indexOf("l"); // indexL = 2

Das heisst ich suche nach der Position an der das ":" steht, und nehme per substring alles davor aus der Zeile. Damit habe ich den Tag. Danach nehme ich alles nach dem ":". Das ist die Aktivität.

Zu dem Problem mit den Zeilen: Du musst dann halt überprüfen ob es überhaupt einen Tag gibt in der Zeile. Dafür gibt es zB die Methode

String#beginsWith(String s)
die dir einen boolean zurückgibt. D.h. du überprüft mit dieser Methode ob die Zeile mit einem Wochentag beginnt. Wenn nicht, ist die Zeile eine Aktivität und bezieht sich auf den letzten vorgekommenen Wochentag
 

faetzminator

Gesperrter Benutzer
Also wenn ich dich wär, würde ich jede Zeile, welche nicht mit einem Wochentag beginnt, mit einem \t (Tabulator) beginnen lassen, zum es dir einfach zu machen
 

Screen

Bekanntes Mitglied
String#beginsWith(String s)
die dir einen boolean zurückgibt. D.h. du überprüft mit dieser Methode ob die Zeile mit einem Wochentag beginnt. Wenn nicht, ist die Zeile eine Aktivität und bezieht sich auf den letzten vorgekommenen Wochentag

Danke, ich weiß aber nicht wie ich String#beginsWith(String s) bzw wo einsetzen sollte.

vllt in der Schleife vor der Zeile : String tag ... ? und muss der String s schon mit einem Tag besetzt werden ?

Und ich habe auch paar leere Zeilen , diese rufen eine Fehlermeldung im Array ( außerhalb des Array) aus.
Wie könnte ich das Problem lösen ?
sorry bin Anfänger ( nur 8 mon Java ) -.-
 
Zuletzt bearbeitet:

hdi

Top Contributor
Also in einer Schleife, wie in meinem Code, weist du zeilenweise per readLine() einem String den Inhalt der Zeile zu. Dieses while(!=null) heisst einfach: Solange es noch Zeilen im Dokument gibt (egal ob sie leer sind oder nicht).

Wenn du dann in der Schleife bist mit deinem Zeileninhalt, prüfst du als erstes ob die Zeile leer ist. -> String#isEmpty(). Wenn nicht, prüfst du ob es ein Wochentag ist:

Java:
private boolean isWochentag(String zeile){
    return (zeile.beginsWith("Montag") || zeile.beginsWith("Dienstag") || usw );
}

Wenn ja, splittest du wie in meinem Code den Tag von der Aktivität, und speicherst die Aktivität ab. Wenn nein, ist die Zeile direkt eine Aktivität, d.h. du musst nix splitten sondern kannst die ganze Zeile als Aktivität speichern. Natürlich musst du in so einem Fall wissen welcher Tag als letztes kam. Das kannste dir in einer Variable abspeichern, die VOR der while-Schleife steht:

String letzterTag;

Wann immer du einen Tag findest (isWochentag returned true) speicherst du diesen Tag gleich, den du ja eh wegsplittest, gleich mal in letzterTag. Dadurch kannst du später rausfinden zu welchem Tag eine Aktivität gehört.

- Schleife Ende.

Fertig, Pseudocode:

Java:
String letzterTag
while(nextline != null){ 
    if( !nextline.isEmpty() ){
           if(nextline.isWochentag()){
                  tag = substring until ":"
                  aktivitaet = substring after ":"
                  map.get(tag).put(aktivitaet);
                  letzterTag = tag;
           }
           else{
                  map.get(letzterTag).put(nextline);
           }
     }
}

PS: du musst mir keine PN mit dem gleichen Post von hier schicken ;) Ich beobachte ein Thema in dem ich schreibe solange bis es keine Fragen mehr gibt
 

faetzminator

Gesperrter Benutzer
wenn du den Tabulator als "nicht-Wochentag"-Zeichen verwenden würdest, wärs einfach
Java:
private boolean isWochentag(String zeile){
    return !zeile.beginsWith("\\t");
}
 

hdi

Top Contributor
Ja klar, solange du selber entscheiden kannst wie das Dokument formatiert ist, solltest du es dir natürlich von vornherein so gestalten, dass du es ganz easy in Java auslesen kannst
 

Screen

Bekanntes Mitglied
Ich habe versucht deinen Code in das Beispiel zu zu integrieren, leider habe ich viele Fehler ,die ich mit meinem Wissen nicht begradigen kann.

Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Tests {

    public static void main(String[] args) {

        /* Map vorbereiten um Aktivitäten zu speichern */
        Map<String, List<String>> map = new HashMap<String, List<String>>();

        /* Daten einlesen */
        File file = new File("C:/MeineDaten.txt");
        try {
            BufferedReader reader = new BufferedReader(new FileReader(file));
            String zeile;
            while ((zeile = reader.readLine()) != null) {
                String tag = zeile.substring(0, zeile.indexOf(":"));
                String aktivitaet = zeile.substring(tag.length() + 1);
                if (!map.containsKey(tag)) {
                    map.put(tag, new ArrayList<String>());
                }
                map.get(tag).add(aktivitaet);
                if( zeile.isEmpty() )
                   if(zeile == null )
                   {
                      String tag = zeile.substring(0, zeile.indexOf(":"));
                       String aktivitaet = zeile.substring(tag.length() + 1);
                      if (!map.containsKey(tag)) {
                        map.put(tag, new ArrayList<String>());
                      }
                       map.get(tag).add(aktivitaet);
                   }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        /* Daten ausgeben (ist jetzt nicht nach Wochentagen sortiert) */
        for (String tag : map.keySet()) {
            System.out.println("Aktivitäten an " + tag + "en :");
            for (String aktivitaet : map.get(tag)) {
                System.out.println("\t" + aktivitaet);
            }
        }

    }
}

und:

Compilermeldung:
.java:31:17: illegal start of expression
private boolean isWochentag(String zeile)
^

Die If-Bedingungen irretieren mich etwas...und leider weiß ich nicht ,wie ich den Code funktionsfähig hinbekomme.
Könnte jemand den Code korrigieren ?

boah ich sitze schon eine Stunde drann und ,weiß nicht wie ich das bewerkstellingen soll, egal was ich mache , ich bekomme das einfach nicht hin o.0

@featzminator, ich weiß nicht recht wo dein code rein soll und was er bewirkt -.-
 
Zuletzt bearbeitet:

Screen

Bekanntes Mitglied
Um nochmal Grob das Problem zu erläutern: Der Beispielcode da unten, braucht einfach eine Funktion für leere Zeile und Zeilen ,die keinen Wochentag beinhalten. Dann habe ich genau was ich wollte ^^ Leider bekomme ich das ohne Hilfe nicht hin -.-

Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class Tests {
 
    public static void main(String[] args) {
 
        /* Map vorbereiten um Aktivitäten zu speichern */
        Map<String, List<String>> map = new HashMap<String, List<String>>();
 
        /* Daten einlesen */
        File file = new File("C:/MeineDaten.txt");
        try {
            BufferedReader reader = new BufferedReader(new FileReader(file));
            String zeile;
            while ((zeile = reader.readLine()) != null) {
                String tag = zeile.substring(0, zeile.indexOf(":"));
                String aktivitaet = zeile.substring(tag.length() + 1);
                if (!map.containsKey(tag)) {
                    map.put(tag, new ArrayList<String>());
                }
                map.get(tag).add(aktivitaet);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        /* Daten ausgeben (ist jetzt nicht nach Wochentagen sortiert) */
        for (String tag : map.keySet()) {
            System.out.println("Aktivitäten an " + tag + "en :");
            for (String aktivitaet : map.get(tag)) {
                System.out.println("\t" + aktivitaet);
            }
        }
 
    }
}

Kann mir jemand helfen ?
 

hdi

Top Contributor
Java:
if( zeile.isEmpty() )

Das hast du falsch abgeschrieben. Das soll ja passieren, wenn sie NICHT leer ist. Die boolesche Negation ist in Java das "!", also:

Code:
if( !zeile.isEmpty() )

Das if zeile == null macht dort überhaupt keinen Sinn, kommt also komplett raus.
Und generell ist die Struktur des ganzen nicht wirklich richtig.
Ich hab vorhin doch den Pseudo-Code gepostet. Genauso musst du es machen.

Aber ich würde dir raten mal die Basics zu lernen. Bsp JavaInsel, das ist ein komplettes kostenloses E-Book:

Galileo Computing :: Java ist auch eine Insel (8. Auflage)
 
Zuletzt bearbeitet:

Screen

Bekanntes Mitglied
Danke, ich kenne schon die Grundlagen ,aber nicht die tausenden Befehle auswendig ^^

ich habs fast geschafft,

das mit den leeren Zeilen habe ich gelöst, nun muss ich noch die Zeile beachten ,die weder leer noch ein Wochentag sind z.b. ein Seitenname .

Ich habe diese
Code:
private boolean isWochentag(String zeile){
    return (zeile.beginsWith("Montag") || zeile.beginsWith("Dienstag") ||zeile.beginsWith("Mittwoch") || zeile.beginsWith("Donnerstag") || zeile.beginsWith("Freitag") || zeile.beginsWith("Samstag") || zeile.beginsWith("Sonntag")  );
}

Methode versucht,aber der Compiler meckert wegen dem "private"( illegal usw.) am Anfang, was soll denn vor private stehen ? -.-

Code:
 while ((zeile = reader.readLine()) != null) {
                if( zeile.isEmpty())
                    continue;
                 if ( !zeile.isWochentag())
                 {
                    continue;

                 }
                String tag = zeile.substring(0, zeile.indexOf(":"));
                String aktivitaet = zeile.substring(tag.length() + 1);
                if (!map.containsKey(tag)) {
                    map.put(tag, new ArrayList<String>());
                }
                map.get(tag).add(aktivitaet);
            }


Wie kann ich jetzt ein continue; ausgeben ,wenn es weder Wochentag ,noch eine leere Zeile ist?

Kann mir jemand bitte helfen ?
Das erspart mir eine Tonne Arbeit ^^
 
Zuletzt bearbeitet:

Screen

Bekanntes Mitglied
ehm leute? jemand da? XD

Wie soll ich das nur ausdrücken " Nach 5 Stunden kann ich nicht mehr" ...und es ist mir wichtig ^^
 

hdi

Top Contributor
ich kenne schon die Grundlagen, aber nicht die tausenden Befehle auswendig

Access Modifier, Umgang mit if-else, booleans, Zuweisungen etc sind Basics, die du scheinbar noch nich so supi kannst. Ich hab dir ja vorhin den Link zur Insel gepostet, vllt solltest du da nochmal die ersten paar Kapitel ankucken.

Zu den Befehlen: Kein Mensch muss die auswendig können. Kennst du die API?

Java Platform SE 6

Eine Sammlung aller Java-Klassen mit allen Methoden und Beschreibungen. Du brauchst nur FileReader/BufferedReader und String, sowie die Interfaces Map und List. Mit der API solltest du dir da alles zusammensuchen können, was du brauchst. Einfach mal die Methoden durchlesen, die sind eig. immer sehr aussagekräftig.
 

Screen

Bekanntes Mitglied
Access Modifier, Umgang mit if-else, booleans, Zuweisungen etc sind Basics, die du scheinbar noch nich so supi kannst. Ich hab dir ja vorhin den Link zur Insel gepostet, vllt solltest du da nochmal die ersten paar Kapitel ankucken.

Zu den Befehlen: Kein Mensch muss die auswendig können. Kennst du die API?

Java Platform SE 6

Eine Sammlung aller Java-Klassen mit allen Methoden und Beschreibungen. Du brauchst nur FileReader/BufferedReader und String, sowie die Interfaces Map und List. Mit der API solltest du dir da alles zusammensuchen können, was du brauchst. Einfach mal die Methoden durchlesen, die sind eig. immer sehr aussagekräftig.

Sorry, NO TIME,NO FUN....hab schon fünf Stunden damit verbracht...als hätte ich nichts besseres zu tun ! -.-


@faetzminator

geht leider auch nicht o.0

Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Tests {

    public static void main(String[] args) {

        /* Map vorbereiten um Aktivitäten zu speichern */
        Map<String, List<String>> map = new HashMap<String, List<String>>();

        /* Daten einlesen */
        File file = new File("C:/MeineDaten.txt");
        try {
            BufferedReader reader = new BufferedReader(new FileReader(file));
            String zeile;
            while ((zeile = reader.readLine()) != null) {
                 public boolean isWochentag(zeile);
                 {
                    return (zeile.beginsWith("Montag") || zeile.beginsWith("Dienstag") ||zeile.beginsWith("Mittwoch") || zeile.beginsWith("Donnerstag") || zeile.beginsWith("Freitag") || zeile.beginsWith("Samstag") || zeile.beginsWith("Sonntag"))  ;
                 }

                 if( zeile.isEmpty())
                    continue;
                 if ( !zeile.isWochentag())
                 {
                    continue;

                 }

                String tag = zeile.substring(0, zeile.indexOf(":"));
                String aktivitaet = zeile.substring(tag.length() + 1);
                if (!map.containsKey(tag)) {
                    map.put(tag, new ArrayList<String>());
                }
                map.get(tag).add(aktivitaet);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        /* Daten ausgeben (ist jetzt nicht nach Wochentagen sortiert) */
        for (String tag : map.keySet()) {
            System.out.println("Aktivitäten an " + tag + "en :");
            for (String aktivitaet : map.get(tag)) {
                System.out.println("\t" + aktivitaet);
            }
        }

    }
}

Ich weiß nicht wo der Fehler liegt o.0 help pls ...
 
Zuletzt bearbeitet von einem Moderator:

hdi

Top Contributor
Sorry, NO TIME,NO FUN....hab schon fünf Stunden damit verbracht...als hätte ich nichts besseres zu tun ! -.-

Mit solchen Aussagen kannst du aber nicht sonderlich viel Hilfe erwarten. Wenn du keinen Bock drauf hast, lass es doch :bahnhof: Wenn du möchtest, dass dir irgendwer einfach so mal etwas macht, nur weil du "NO TIME NO FUN" hast, dann musst du dafür bezahlen. Oder hoffen, dass jemand MORE TIME MORE FUN hat, dir das zu machen ;)
 

Screen

Bekanntes Mitglied
Mit solchen Aussagen kannst du aber nicht sonderlich viel Hilfe erwarten. Wenn du keinen Bock drauf hast, lass es doch :bahnhof: Wenn du möchtest, dass dir irgendwer einfach so mal etwas macht, nur weil du "NO TIME NO FUN" hast, dann musst du dafür bezahlen. Oder hoffen, dass jemand MORE TIME MORE FUN hat, dir das zu machen ;)

Klar, man kommt ja hier nichtmal mit normalen weiter -.-

Ich bin nicht so neu in dieser Branche, ich weiß zu gut wie komplex ein Programm sein kann, wie viel Zeit und Arbeit es kostet es zum laufen zu bringen, ich bin aber nicht Jesus und kann nicht alle Probleme der Welt lösen.
Darum bitte ich hier um Hilfe, denn ohne Hilfe werde ich das erst in paar Tagen lösen können und dann ist es fast zu spät.

Man muss die Vor und Nachteile in Betracht nehmen...würde ich mich weiter damit rumquelen, würde ich davon nichtmal etwas lernen, würde mir aber einer den rechten Weg weisen, dann würde ich das verstehen und daraus lernen...sonst verschwendet es einfach nur wertvolle Zeit...meine Lebenszeit -.-

Also noch einmal; " kann jemand der sich auskennt, nur 30 sec seiner Zeit opfern und den einen kleinen dummen Fehler aus meinem Quellcode löschen ? " danke -.-
 

hdi

Top Contributor
Hm. Kannst dich mit Developer zusammentun, das is auch so ein Vogel, der denkt alle User hier im Forum sind nur dafür geboren worden, ihm ohne Eigenleistung seinerseits zu helfen. Und das ist der Unterschied, klar helfen wir, aber du musst selbst auch was machen. Ich hab dir genau gesagt was du machen musst.

Java:
public boolean isWochentag(zeile);
Das zeigt dass du nicht mal die ersten paar Seiten eines beliebigen Buches über Java gelesen hast, und ich habe dir schon 2x gesagt dass du die Basics ankucken musst. Aber du meinst ja:

ich kenne schon die Grundlagen
und:

Tja was soll man dazu sagen. Hier wird Leuten geholfen, die Java lernen wollen, nicht Leuten, die es nicht lernen wollen.

Du kannst übrigens auch mal hier in die FAQ-Rubrik kucken, dort steht sicher einiges über Methoden. Und nach spät. 10 Minuten weisst du was falsch ist. Wenn dir das zu viel verschwendete Lebenszeit ist, ist Programmieren wohl nix für dich
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
Ich weiß nicht wo der Fehler liegt o.0 help pls ...
"den" fehler gibt's im code auch nicht. Da sind so einige sowohl brutale syntaktische, als auch unschöne semantische drin. Wenn du es nicht weißt, dann jag den code doch durch den compiler, schau dir die fehlermeldungen an. Dort wird doch meistens auf zeichen genau der Fehler gezeigt. Wenn du mit Fehlermeldungen nicht weiterkommst, dann poste die hier, dann können wir die hier eine nach der anderen durchgehen. Und die grobe Sprachstruktur sollte man schon kennen, bevor man hier mit streams und readern und exceptions rumballert, da hat hdi wie immer recht...

Also:
1) in java kann man methoden nur innerhalb von klassenrümpfen definieren, nicht mitten in anderen methoden.
2) ; !!!
3) java ist typensicher. Alles was an eine methode übergeben wird muss exakt beschrieben werden, man muss den Typ angeben.

wenn du die drei groben fehler behoben hast, kannst du dir nochmal diese Konstruktion:
Java:
zeile.beginsWith("Montag") || zeile.beginsWith("Dienstag") //weitere 590 kilometer...
anschauen, und dich fragen, wofür leute schleifen erfunden haben ;)

edit: okay, punkt 2) kannst du streichen, habe die 590km breite zeile zuendegescrollt, und nach reichlich emptyspace doch noch ein semikolon entdeckt :autsch:
Bist du mit einem 49584x2096 px Bildschirm unterwegs? :lol:
 
Zuletzt bearbeitet:

hdi

Top Contributor
wenn du die drei groben fehler behoben hast, kannst du dir nochmal diese Konstruktion:
zeile.beginsWith("Montag") || zeile.beginsWith("Dienstag") //weitere 590 kilometer...
anschauen, und dich fragen, wofür leute schleifen erfunden haben

Das hab ich verbrochen :oops:. Aber wie willst du das in eine Schleife stecken? Die Tage vorher in eine Liste legen? Ob das jetzt unbedingt besser ist? Sieht vllt optisch besser aus, aber sonst
 

0x7F800000

Top Contributor
Das hab ich verbrochen :oops:. Aber wie willst du das in eine Schleife stecken? Die Tage vorher in eine Liste legen? Ob das jetzt unbedingt besser ist? Sieht vllt optisch besser aus, aber sonst
Java:
public static final String[] DAYS={"Mo","Di","Mi","Do","Fr"...};

...
public static boolean isDayString(String s){
   for(String day:DAYS){
      if(s.startsWith(day)) return true;
   }
   return false;
}
weiß nicht ob's optisch besser ist, aber es tut jedenfalls dem hirn nicht weh... :autsch:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
L 4 stelliges Passwort aus bestimmten Zeichen. Java Basics - Anfänger-Themen 27
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
A Zu einem bestimmten Ort im Code springen Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
B Umbruch nach bestimmten Wort Java Basics - Anfänger-Themen 5
K Apache POI Excel Letzte Reihe einer bestimmten Spalte Java Basics - Anfänger-Themen 1
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
E Array-list mit einer bestimmten Länge Java Basics - Anfänger-Themen 17
J Eingabe des Scanners an einer bestimmten Position Java Basics - Anfänger-Themen 6
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
Hijo2006 Ansprechen einer bestimmten Excelzelle Java Basics - Anfänger-Themen 2
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
R Ab einer bestimmten Zeile lesen Java Basics - Anfänger-Themen 3
L Subklasse von ArrayList nur mit bestimmten Objekten füllen Java Basics - Anfänger-Themen 1
J Bestimmten Bildbereich anklicken Java Basics - Anfänger-Themen 0
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
S OOP Frage: Methoden nur bei bestimmten Gegebenheiten aufrufbar machen? Java Basics - Anfänger-Themen 4
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
AssELAss Zusammengesetzer String, nur bestimmten Wert daraus mit führenden Nullen Java Basics - Anfänger-Themen 2
G Bestimmten String aus gegebenem String speichern Java Basics - Anfänger-Themen 3
B Zufallsdatum innerhalb eines bestimmten Bereiches erzeugen Java Basics - Anfänger-Themen 3
I Texte an bestimmten Stellen ausgeben. Java Basics - Anfänger-Themen 3
M Alle Sublisten einer bestimmten Laenge berechnen Java Basics - Anfänger-Themen 2
E Zeit zum bestimmten Datum in millisekunden berechnen Java Basics - Anfänger-Themen 5
L bestimmten Frame anzeigen lassen? Java Basics - Anfänger-Themen 6
R Bei einem Bestimmten wert einen text Ausgeben Java Basics - Anfänger-Themen 6
Todesbote Map<String, Treeset> aus Treeset bestimmten Wert auslesen Java Basics - Anfänger-Themen 4
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
G Auf einen bestimmten Konstruktor in der abstrakten Superklasse zugreifen? Java Basics - Anfänger-Themen 2
G Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben. Java Basics - Anfänger-Themen 6
B String in in bestimmten abschnitten splitten Java Basics - Anfänger-Themen 2
B Strings nur aus bestimmten Zeichen? Java Basics - Anfänger-Themen 4
S Langtext auf bestimmten Bereich begrenzen Java Basics - Anfänger-Themen 3
M bestimmten Teil eines Strings entfernen Java Basics - Anfänger-Themen 4
algebraiker Nur Klassen aus einem bestimmten Jar laden Java Basics - Anfänger-Themen 16
K Bestimmten String zerlegen Java Basics - Anfänger-Themen 12
M Threads bestimmten Kernen zuweisen? Java Basics - Anfänger-Themen 7
A Methoden ArrayList einen bestimmten Wert erhöhen oder herabsetzen. Java Basics - Anfänger-Themen 7
K Klassen Objekt mit einem Namen von einer bestimmten Klasse instanziieren Java Basics - Anfänger-Themen 10
N Dateien bestimmten Typs löschen Java Basics - Anfänger-Themen 6
M Liste nach bestimmten Kriterien ordnen Java Basics - Anfänger-Themen 9
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
K größter gemeinsamer Teiler berrechnen, funktioniert nur bei bestimmten Zahlen Java Basics - Anfänger-Themen 2
C bestimmten Teil von string removen Java Basics - Anfänger-Themen 4
D Importieren von bestimmten Quellen Java Basics - Anfänger-Themen 13
M in methode variable eines bestimmten objekts verwenden Java Basics - Anfänger-Themen 2
C String ab einem bestimmten Char abschneiden??? Java Basics - Anfänger-Themen 7
M String an bestimmten Stellen zerlegen Java Basics - Anfänger-Themen 12
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
B Methode nur in bestimmten Zeitintervallen ausführen Java Basics - Anfänger-Themen 3
C Mit LineRead bis zu einem bestimmten Zeichen auslesen Java Basics - Anfänger-Themen 2
K Datentypen Bestimmten Part aus String kopieren mit RegEx Java Basics - Anfänger-Themen 4
I (JFileChooser)Wie kann eine Jar auf Dateien eines bestimmten Ordners zugreifen? Java Basics - Anfänger-Themen 9
M Zufallszahlen aus einem bestimmten Intervall Java Basics - Anfänger-Themen 5
H Programm zu bestimmten Zeit ausführen Java Basics - Anfänger-Themen 3
D An bestimmten Knoten einer Liste zugreifen Java Basics - Anfänger-Themen 4
A String nach bestimmten kriterien splitten Java Basics - Anfänger-Themen 13
Z Geburtstag aller Angestellten am bestimmten Datum Java Basics - Anfänger-Themen 59
S HashMap: Rückgabe des key zu bestimmten value Java Basics - Anfänger-Themen 3
JeromeM90 Problem bei einer Ausgabe von einem bestimmten Zeichen Java Basics - Anfänger-Themen 5
P Bestimmten Stringabschnitt selektieren? Java Basics - Anfänger-Themen 2
G Mail versenden, wenn Mikrofon einen bestimmten Pegel erreich Java Basics - Anfänger-Themen 3
G Auslesen einer bestimmten Stelle in einer Textdatei? Java Basics - Anfänger-Themen 2
M String nach einer bestimmten Anzahl von Zeichen trennen Java Basics - Anfänger-Themen 2
W Bestimmten Pfad im BufferedReader Java Basics - Anfänger-Themen 4
S Suche nach einer bestimmten Komponente . Java Basics - Anfänger-Themen 6
G Wert in Zeile an einer bestimmten Stelle ersetzen Java Basics - Anfänger-Themen 2
F Zufallszahl in einem bestimmten Intervall Java Basics - Anfänger-Themen 9
J Anzahl eines bestimmten Zeichens in einem String Java Basics - Anfänger-Themen 8
H Datei mit bestimmten Dateityp Java Basics - Anfänger-Themen 2
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
M Namen der Dateien in einem bestimmten Verzeichnis erhalten Java Basics - Anfänger-Themen 4
N In der Textarea an einer bestimmten Positon weiterschreiben? Java Basics - Anfänger-Themen 6
B bestimmten Wert in Array suchen und ersetzen Java Basics - Anfänger-Themen 3
J Auswerten eines Bestimmten inhalts einer Datei Java Basics - Anfänger-Themen 9
G Rundungsfehler bei bestimmten Rechnungen? Java Basics - Anfänger-Themen 2
P Zu einem bestimmten Zeitpunkt Meldung anzeigen? Java Basics - Anfänger-Themen 3
A Suche bestimmten Swing-Button Java Basics - Anfänger-Themen 2
S String --> Zahlen herausschneiden an bestimmten Positione Java Basics - Anfänger-Themen 3
R Bestimmten Buchstaben im String zählen Java Basics - Anfänger-Themen 9
A String Zeichen löschen in einer bestimmten Reihenfolge Java Basics - Anfänger-Themen 25
G Problem bei der Darstellung von bestimmten ASCII-Zeichen Java Basics - Anfänger-Themen 4
J Textauslesen, an bestimmten stellen? Java Basics - Anfänger-Themen 20
G Strings ab einem bestimmten Index zurück geben! Java Basics - Anfänger-Themen 3
N Anzahl eines bestimmten Wortes in einer Textdatei Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben