WortSuchen

JDownHD

Mitglied
Hallo,

ich will die im Anhang befindliche Aufgabenstellung lösen.
Ich habe auch eine Lösung die Funktioniert, aber die sieht bei weitem nicht so aus wie in der Aufgabenstellung gefordert.

Mein Problem besteht darin, die Klassenmethode suche() zu erstellen, da ich schlicht nicht weiß wie ich einen BuferedReader übergeben sollte und wie das dann aussehen soll...


Ich versuche weiter eine Lösung zu finden, aber es wäre cool wenn mir jemand zeigen könnte wie das geht.

Mein Code:
Java:
/******
BufferedReader
******/

import java.io.*;
import java.util.*;
import javax.swing.*;  

class WortSuchen{
	public static void main(String args[]){
		String datei = args[0];
		String wort = args[1];
		
		try{
			BufferedReader in = new BufferedReader(new FileReader(datei));
			String s = "";
			boolean z = false;
			while((s = in.readLine()) != null){
				String[] data = s.split(" ");
				if(data[0].equals(wort)||data[0].equals(wort+",")||data[0].equals(wort+"."))
					z = true;
			}
			if(z==false)
				System.out.println("Das Wort konnte nicht gefunden werden!");
			else
				System.out.println("Das Wort "+wort+" konnte gefunden werden!");

			in.close();
		}catch(FileNotFoundException e){
			System.out.println("Datei kann nicht gefunden werden");
		}catch (IOException e){
			System.out.println("Es ist ein Fehler beim lesen der Datei aufgetreten");
		}
	}
}
 

Anhänge

  • 9.jpg
    9.jpg
    38,7 KB · Aufrufe: 37
Zuletzt bearbeitet von einem Moderator:

JDownHD

Mitglied
Gibt es für Zeile 20 eine allgemeingültigere Lösung bzw eine elegantere?

Bzw. gibt es eine Methode um alle Sonderzeichen aus der Datei zu Filtern?
 
M

Marcinek

Gast
Hallo,

du kannst RegEx benutzen oder generell dir die Klasse String mal ansehen, welche Methoden sie zu verfügung stellt, um das Problem zu lösen.

Generell aber, und wenn man die anderen Postings mit in betracht zieht, hast du nicht genügend Grundlagenkentnisse, um hier wirklich effektiv helfen zu können.

Das einzige, was man hier tun kann ist die Lösung zu posten, das würde dich aber auch nur zur nächsten Aufgabe und dann zu einem Posting hier im Froum führen.

Lese dir mal die Grundlagen hierzu in den entsprechenden Büchern nach.

Ansonsten steht in der Aufgabe genau beschrieben, was du machen sollst.
 

JDownHD

Mitglied
Java:
/******
BufferedReader
******/

import java.io.*;

class WortSuchen{
   public static void main(String args[]){
      String datei = args[0];
      String wort = args[1];
      
      try{
         BufferedReader in = new BufferedReader(new FileReader(datei));
         System.out.println(suchen(in, wort));
         in.close();
      }catch(FileNotFoundException e){
         System.out.println("Datei kann nicht gefunden werden");
      }catch (IOException e){
         System.out.println("Es ist ein Fehler beim lesen der Datei aufgetreten");
      }
   }
   
   public static String suchen(BufferedReader datei, String wort) throws IOException{
      String s;
      
      while((s = datei.readLine()) != null){
         if(s.contains(wort))
            return "Das Wort " + wort +" konnte gefunden werden!";
      }
      return "Das Wort " + wort + " konnte nicht gefunden werden!";
   }
}

gibt es noch eine Möglichkeit da die Groß- und Kleinschreibung außer kraft zu setzen?
 
Zuletzt bearbeitet:
G

Gast2

Gast
Java:
if (s.toLowerCase ().contains (wort.toLowerCase ())
Den Ausdruck
Code:
wort.toLowerCase ()
sollte man sich dann noch in einer Variablen merken.
 

Shadowox

Mitglied
Es gibt in der Klasse [JAPI]String[/JAPI] die Methode equalsIgnoreCase(String) mit dieser ist es möglich equals auszuführen unabhängig von Groß- und Kleinschreibung.
 
S

SlaterB

Gast
"Benötige Hilfe bei Aufgabe"
ist wie leicht zu erkennen einer der aussagelosesten Titel überhaupt,
so etwas bitte vermeiden,

jeder einzelne fachliche Wort zum Programm ist als Erinnerung des Themeninhalts geeigneter
 

Oben