Ein einfacher Chatbot (simuliert chat)

osion

Bekanntes Mitglied
Hallo miteinander :lol:alles klar ?:applaus:

Ich habe jetzt schon einige Übungen für Java gemacht, aber nur Übungen zu machen ist mir der Zeit doch recht demotivierend. Also mache ich ein Projekt, welches ich noch nicht umsetzen kann, aber halt die Motivitation zum lernen grösser ist.

Der Ablauf ist einfach: Eingabe --->Pruefung der Eingabe--->Einlesen vom File in einem Speicher, z. B. Array ---> Ausgabe

Probleme momentan:

1
Ich habe ein .txt File wo ich die möglichen Antworten drin habe, doch das Problem ist wenn dort steht Hallo miteinander, dann nimmt er nur Hallo.

Ich will das er das per Trennzeichen trennt (auch weil später noch andere Werte auf der gleiche Linie stehen sollen). Es soll eine Methode geben die super cvs, aber leider kein richtige Einführung dazu gefunden.

2
Mit dem Scanner ist es nicht möglich zum File-Anfang zu gehen, ich frage mich wie ich das am besten umgehe (da ein zweiter Scanner blödsin ist ne?).

CODE:

Das Return in dem zweiten Code sollte nicht beachtet werden, das ist nur das es kein Fehler in der Main nacher gibt.

Main

Java:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

import antworten.Anfangsfrage;

import dateien.Test;

public class Grund {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

			
			String eingabeBenutzerGespeichert;


			Scanner eingabeBenutzer =new Scanner(System.in);
			
		//	FileWriter x = null;
			
			
			System.out.println("Erste Eingabe bitte");
			File anfangsfrage1=new File("D:\\zb\\Hallo.txt");
			

			eingabeBenutzerGespeichert=eingabeBenutzer.next();

			Anfangsfrage ersteFrage=new Anfangsfrage(anfangsfrage1);
			ersteFrage.ListeEinlesen(eingabeBenutzerGespeichert);

Java:
package antworten;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Random;
import java.util.Scanner;

public class Anfangsfrage {

	Scanner leser;
	Scanner eingabe;
	String[] ersteAntwort = new String[50];
	String pruefwert;

	public Anfangsfrage(File anfangsfrage1) {
		try {
			leser = new Scanner(anfangsfrage1);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

public Random ListeEinlesen(String eingabeBenutzerGespeichert) {
		int i = 0;
		boolean pruefen = false;
		String ausgabe = null;
		String pruefwert = null;

		AnfangsEingabePruefung: do {
			System.out.println(pruefwert);
			pruefwert = leser.next();
			System.out.println(pruefwert);

			if (eingabeBenutzerGespeichert.equals(pruefwert)) {
				pruefen = true;
				break AnfangsEingabePruefung;
			}
		} while (leser.hasNext());

		leser.r;

		for (i = 0; i < 15; i++) {
			ersteAntwort[i] = leser.next();

		}
		Random antwort = new Random();
		System.out.println("Erster Eintrag " +ersteAntwort[0]);
		System.out.println(ersteAntwort[antwort.nextInt(15)]);
		leser.close();
	}
		return antwort;
}
}


gruss
 

Helgon

Bekanntes Mitglied
1)
Java:
BufferedReader br = new BufferedReader(new FileReader("deinedatei"));
String line
while((line = br.readLine()) != null){
System.out.println(line);
}

das gibt dir die gesamte zeile.. du kannst alles in eine arraylist schreiben und trennen tust du mit der split() methode

2)du willst doch den int wert und nicht das random objekt zurück geben, oder?
 

osion

Bekanntes Mitglied
1)
Java:
BufferedReader br = new BufferedReader(new FileReader("deinedatei"));
String line
while((line = br.readLine()) != null){
System.out.println(line);
}

das gibt dir die gesamte zeile.. du kannst alles in eine arraylist schreiben und trennen tust du mit der split() methode

2)du willst doch den int wert und nicht das random objekt zurück geben, oder?

Ich habe jetzt alle Listen in Arrays gespeichert und suche die einzeln ab. Gibt es eine nette Funktion welche das direkt macht, d.h. das ich ArrayListen Angeben kann und er arbeitet bei jeder ArrayList dies nacheinander ab?

p.s. meine Nachricht heute
hr Kennwort ist 1579 Tage alt und daher nicht mehr gültig. :lol::lol::lol:
 

osion

Bekanntes Mitglied
Ich bin momentan an einem Programm, dass jetzt etwa 20 Klassen hat. Innerhalb des Programms werden Dateien eingelesen und Dateien geschrieben oder mit den Daten Arrays gefüllt....

Soo kurz was es im Programm geht :D

Problem:
Ich habe Dateien welche so aussehen Hallo;2;454 und wenn ich da mit meinem ArrayList arbeite brauche ich den Wert wieviele Einträge pro Linie vorkommen.


Frage:
Würdet ihr solche Werte als Statisch aufrufen oder eine eigene Klasse mit STANDTWERTE Variabeln erstellen?




......
Zweitens: Ich will eine List<String> welche nur mit Zahlen gefühlt ist zu einem List<Integer> ändern.

Frage: Muss ich jedes Zeichen per Char in die List<Integer> transferieren oder gibt es dafür einen einfacheren Weg?


gruss
Bit
 

faetzminator

Gesperrter Benutzer
Die erste Frage ist absolut unverständlich. Kannst du dein Problem etwas genauer schildern?
Zur zweiten Frage, da gibts [c]Integer.parseInt(String)[/c].
 

osion

Bekanntes Mitglied
Also ich habe, z. B. Wert AnzahlWerteProZeileInDatei | Test;1232;454

Jetzt ist ja so, dass ich bei der Entwicklung vielleicht denken, dass eine Spalte pro Zeile nicht schlecht ist. Mein Problem ist das ich das jetzt überall ändern müsste und schnell mal vergessen geht.


Mir ist schon klar, dass ich die Werte entweder Static oder in einer andere Klasse packen könnte, mich nimmt aber wunder wie man das in der Praxis macht. Naja...halt jemand mit Erfahrung.
 

faetzminator

Gesperrter Benutzer
Man verwendet in der Praxis eigentlich keine Kommaseparierten Daten aus Textfiles... Und wenn überhaupt, dann mit irgendeiner CSV Lib. Ansonsten wird XML, DBs, Properties etc. präferiert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Einfacher Taschenrechner mit Eclipse Java Basics - Anfänger-Themen 3
M Einfacher Taschenrechner Java Basics - Anfänger-Themen 2
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
EinNickname9 Denkfehler bei einfacher Schleife Java Basics - Anfänger-Themen 83
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
N Methoden Einfacher SekundenTimer/Stopuhr in Java Java Basics - Anfänger-Themen 2
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
H wie mehrere variablen in einfacher for-schleife? Java Basics - Anfänger-Themen 2
N Einfacher Rechner (für mich nicht so einfach) Java Basics - Anfänger-Themen 5
? Klassen einfacher Fehler in einem Java Programm. Java Basics - Anfänger-Themen 5
V Einfacher vergleich von Arrays geht schief Java Basics - Anfänger-Themen 2
K Seltsames Ergebnis in Netbeans bei einfacher Multiplikation Java Basics - Anfänger-Themen 5
R Einfacher Regex Java Basics - Anfänger-Themen 3
L Einfacher Methodenaufruf vs. Objekt Java Basics - Anfänger-Themen 4
K Einfacher random namen weitergeben Java Basics - Anfänger-Themen 4
A Lässt sich dieser Ausdruck irgendwie einfacher schreiben? Java Basics - Anfänger-Themen 4
H Einfacher Editor, Einfache Handelsanweisungen Java Basics - Anfänger-Themen 2
H Geht dieser Code noch einfacher (try catch finally) Java Basics - Anfänger-Themen 7
P Geht dieser Code noch einfacher? Java Basics - Anfänger-Themen 16
R Einfacher Timer geht nicht Java Basics - Anfänger-Themen 7
M Einfacher Timer ;) Java Basics - Anfänger-Themen 15
M Einfacher Swing Wizard Java Basics - Anfänger-Themen 3
El_Lobo Methoden Zu viele Getter- und Settermethoden - geht das einfacher? Java Basics - Anfänger-Themen 3
P falsches ergebnis bei einfacher berechnung Java Basics - Anfänger-Themen 3
M Einfacher Fenster-Ablauf Java Basics - Anfänger-Themen 5
M Gittermuster mit Stringbuilder und einfacher Schleife erstellen Java Basics - Anfänger-Themen 19
T Collections Werte aus einer HashMap auslesen, oder gehts auch einfacher ? Java Basics - Anfänger-Themen 6
D Code einfacher,eleganter programmieren Java Basics - Anfänger-Themen 24
F Datentypen Welchen Wert hat ein einfacher Datentyp nach der Deklaration? Java Basics - Anfänger-Themen 6
C einfacher Link zu *.html Datei möglich? Java Basics - Anfänger-Themen 4
Hindi93 Einfacher Code funktioniert nicht... Java Basics - Anfänger-Themen 6
P Einfacher Rechner Java Basics - Anfänger-Themen 2
T Einfacher Kalender Java Basics - Anfänger-Themen 17
B Frage zu einfacher Rechnung Java Basics - Anfänger-Themen 3
B Hilfe bei einfacher Funktion - Possible loss of precision Java Basics - Anfänger-Themen 2
G Einfacher Anfang mit Hibernate Java Basics - Anfänger-Themen 4
M ein einfacher button.. ich verzweifel...... Java Basics - Anfänger-Themen 41
F Von int zu double bei einfacher Rechnung Java Basics - Anfänger-Themen 2
C Einfacher Installer Java Basics - Anfänger-Themen 2
Chucky Einfacher Taschenrechner Verbesserungsvorschläge Java Basics - Anfänger-Themen 13
G Problem mit einfacher For-Schleife und Double Wert Java Basics - Anfänger-Themen 4
D Probleme bei einfacher Rechnung Java Basics - Anfänger-Themen 3
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben