# Chatterbot in Java



## elfenhelfen (20. Apr 2007)

Hallo, werte Mitglieder des Forums.
Ich brauche Hilfe, da ich in Java bzw JavaScript gänzlich unbewandert bin.
Ich möchte, dass der Benutzer unserer Seite sich über xxx informieren kann.
Die folgende HTML-Datei löst dieses Problem, aber nur für Eingabe, wie ja oder Ja



<html>
<head>
<SCRIPT LANGUAGE ="JavaScript">
function Auswertung (obj)
  {
   re=/ja|Ja/
   if (re.test(obj))
      {location ="xxx.htm"}
   else
      {location ="yyy.htm"}
  }
</script>
</head>
<body>
* Bot: * Hallo, interessierst du dich für xxx  ????>

<form>
<INPUT TYPE="text" Name="Eingabe" SIZE=10>

<input type="button" value="ok"

onClick="Auswertung (Eingabe.value)">
</form>
</body>

</html>


Ich hätte gerne, dass eine echte Unterhaltung statt findet, und eine Java-Routine den Eingabetext auf Schlüsselwörter untersucht.
In Turbo-Pascal sähe das so aus:

Function enthalten(kurz,lang:string):boolean;
  var i : integer;
      gefunden : boolean;
Begin
  gefunden := false;
  for i := 1 to length ( lang ) - length ( kurz) +1 Do
  if copy(lang, i, length(kurz)) = kurz Then gefunden := true;
  enthalten := gefunden
end;

Wie sieht denn sowas in Java aus ? Ich hoffe, dass uns jemand helfen kann.


----------



## para_ (20. Apr 2007)

```
if (eingabe.contains(sollEnthaltenSein))
enthalten=true;
```
(hier wird ne CharSequence gebraucht)


```
if (eingabe.indexOf(sollEnthaltenSein) != -1 )
enthalten=true;
```
(hier gehts auch mit nem normalen String)

Nachtrag: macht aber soweit ich weiss für die einfache überprüfung ob etwas in einem String enthalten ist keinen unterschied, String implementiert CharSequence


----------



## thE_29 (20. Apr 2007)

Dir is aber schon klar das Java != Javascript ist!!


----------



## para_ (20. Apr 2007)

oh das hab ich garnich beachtet, mit javascript kenn ich mich nich so aus  


Also dann schreib ichs nochmal extra:

@elfenhelfen: Was ich da geschrieben hab ist für Java, nicht JavaScript


----------



## para_ (20. Apr 2007)

```
<script type="text/javascript">
function contains( string, substring )
{
	var gefunden=false;
	for ( var i=0; i< string.length; i++ ) {
		if ( string.charAt(i) == substring.charAt(0) && string.length-i>=substring.length ) {
			gefunden=true;
			for ( var j=i, k=0; k<substring.length; j++, k++ ) {
				if ( string.charAt(j) != substring.charAt(k) ) gefunden=false;
			}
			if ( gefunden ) break;
		}
		else
			gefunden =false;
	}
	if ( gefunden == true) 
		document.write("'" + substring + "' ist in '" + string + "' enthalten..." );
	else
		document.write("'" + substring + "' ist in '" + string + "' nicht enthalten..." );
}

</script>
```

so, hab mal was gebaut, musst mal sehn ob du damit was anfangen kannst


----------



## elfenhelfen (20. Apr 2007)

Wow, mit so schnellen Hilfsangeboten habe ich gar nicht gerechnet.
Ich werde das am Wochenende ausprobieren.
Einstweilen vielen lieben Dank !!!!!


----------



## elfenhelfen (27. Apr 2007)

Hallo, liebe Gemeinde,
zu meiner Frage vom 20.4.07 bekam ich sehr schnell Lösungsvorschläge, aber da sich meine Kenntnisse von JAVA/JAVASRIPT gegen Null bewegen, habe ich diese Vorschläge noch nicht einbauen können.
Die vorgeschlagene Funktion  contains  untersucht, ob ein substring in einem Eingabestring enthalten ist oder nicht. Mit anderen Worten: Wir wollen dem Benutzer des Bots gestatten eine Texteingabe zu machen, die dann auf Schluesselwoerter wie z.B. Ja oder gut untersucht wird. Wenn das Schluesselwort enthalten ist, soll ein Sprung auf eine andere html-Datei erfolgen, in der bestimmte Informationen dargestellt werden. Wenn es nicht enthalten ist, soll ein Sprung auf ein anderes html-Dokument erfolgen.
Toll wäre es zudem, wenn der Benutzer eine Auswahl hätte, d.h. der Dialog sollte so funktionieren:
Bot: Wozu möchtest du Informationen, zu a, b oder c ? ( Turbo-Pascal bietet dann eine CASE-Struktur  -->  Case Antwort of 'a' : Infoseitea ....

Wir hoffen, dass euch dazu etwas einfällt ( trotz der zunehmenden Hitze )
bis dahin
elfenhelfen


----------



## Guest (27. Apr 2007)

elfenhelfen hat gesagt.:
			
		

> zu meiner Frage vom 20.4.07 bekam ich sehr schnell Lösungsvorschläge, aber da sich meine Kenntnisse von JAVA/JAVASRIPT gegen Null bewegen,


MANN, JAVA IST NICHT DAS GLEICHE WIE JAVASCRIPT, WENN DU HIER ANTWORTEN BEKOMMST LIEGT DA DARAN DAS EINIGE HIER AUCH JAVASCRIPT KÖNNEN :bloed:  :bloed:  :bloed:  :bloed:


----------



## Guest (27. Apr 2007)

Du solltest Dich wahrscheinlich etwas intensiver mit Javascript beschäftigen.

Hier sollte deine Frage beantwortet werden.


----------

