Hallo Gemeinde,
erstmal schonma danke.
Bitte helft mir, sonst krieg ich im Studium riesig Probleme.
Aufgabe:
Erstelle eine Kunden-DB, die Kunden in nen Vector einliest und ausgibt. => funktioniert
Erstelle dazu einen Selektor, wo man Kundennamen aus dem Vector auf Übereinstimmung suchen und ausgeben kann.
ha?s=hans etc... ha*=haber, haffner etc...
Hier Hilfe pls....
Wenn ich jemandem die Files schicken kann, wär ich dankbar, denn ich hab ziemlich Druck mit dieser Sache und verzweifel fast.
Main-Klasse, in der ich versuche zuviele Anweisungen zu vermeiden. Das Exception-Handling ist noch nicht so ausgereift, weil ichs noch nich so verstehe.
Nahezu alle Operationen des Programms werden hier ausgeführt.
Ich wollte eigentlich eine Klasse suche, die die suchen Kunde aufnimmt, aber dabei hieß es "Klasse Iterator not found". Warum?
Hier kann man nach Namen in der DB/Vector suchen!
ha?s findet z.B. hans, haus
ha* findet haller, haber, hasselbacher, halaaaaaaaaa etc....
Leider bekomm ich es nicht zum laufen, obwohl die Syntax stimmen müsste. Hab ich aus nem anderen Programm reinkopiert. Sind wohl manche Dinge einfach falsch instanziiert, glaub ich.
Kann mir jemand dabei helfen, die 4 Klassen zu sortieren und lauffähig zu machen?
Die Inhalte (und Vector) ist / sind vorgeschrieben. Es geht nur darum, dass man das Programm lauffähig macht.
Hab Druck, da ich es bis 22. fertighaben muss und wär euch daher dankbar, wenn sich jemand die Mühe macht!![/code]
erstmal schonma danke.
Bitte helft mir, sonst krieg ich im Studium riesig Probleme.
Aufgabe:
Erstelle eine Kunden-DB, die Kunden in nen Vector einliest und ausgibt. => funktioniert
Erstelle dazu einen Selektor, wo man Kundennamen aus dem Vector auf Übereinstimmung suchen und ausgeben kann.
ha?s=hans etc... ha*=haber, haffner etc...
Hier Hilfe pls....
Wenn ich jemandem die Files schicken kann, wär ich dankbar, denn ich hab ziemlich Druck mit dieser Sache und verzweifel fast.
Code:
public class Kundenverwaltung {
public Kundenverwaltung() {
}
public static void main(String[] args) throws Exception {
try{
KundenContainer kc=new KundenContainer();
kc.auswahl();
}
catch (NullPointerException f)
{
System.out.println("Fehler gefunden: Nullpointer\n"+f.getMessage());
}
catch (Exception e) {
System.out.println("Fehler gefunden: allgemeiner\n"+e.getMessage());
}
}
}
Main-Klasse, in der ich versuche zuviele Anweisungen zu vermeiden. Das Exception-Handling ist noch nicht so ausgereift, weil ichs noch nich so verstehe.
Code:
public class KundenContainer {
protected static Vector v=new Vector(5,2);//static...
protected int kundennummer;
protected String name;
Kunde k1=new Kunde();
public KundenContainer() {
}
//wählt zwischen den einzelnen Menüoptionen
public void auswahl() {
Selektor s1=new Selektor();
System.out.println("Kundenverwaltung");
System.out.println("Was wollen sie tun?");
int ein;
//Auswahl-Maske, die solange wiederkommt, bis einer Abbruch wählt
do {
ein=IOTools.readInteger("(1) Kunde anlegen, (2) Kunde nach Knr suchen, (3) Kunde nach Name suchen (4) bisheriger Kundenstamm, () Abbruch\n");
switch(ein){
case 1: eingabe(); //Eingabe-Maske
break;
case 2: suchenKnr(); // Suche nach der KNR
break;
case 3: //s1.setEingabe(name,k1);
s1.sucheName(); //Suche nach Name
break;
case 4: ausgabe(); //bisheriger Kundenstamm
break;
default:
System.out.println("Programmende erwünscht! "); //alles andere: Abbruch
break;
}
}while(ein<5 && ein>0);
}
//Eingabemaske
public void eingabe() {
name=IOTools.readString("Wie heißt der Kunde? ");
kundennummer=v.size()+1; //automatische Kundennummerzuweisung
Kunde k1=new Kunde(name,kundennummer);
v.add(k1);
}
//Ausgabeprozedur
public void ausgabe() {
for(Iterator iter = v.iterator(); iter.hasNext();){
Kunde k1=(Kunde)iter.next();
System.out.println(k1.ausgebenKunde());
}
}
public void suchenKnr(){
int suchknr=IOTools.readInteger("Welche Kundennummer wollen sie suchen? ");
if(suchknr>v.size() || suchknr<1) { //fängt Kundennummern ab, die nicht existieren
System.out.println("Kundennummer nicht vorhanden!");
}
for(Iterator iter = v.iterator(); iter.hasNext();){
Kunde k1=(Kunde)iter.next();
if(suchknr == k1.getKnr()){
System.out.println(k1.ausgebenKunde());
}
}
}
}
Nahezu alle Operationen des Programms werden hier ausgeführt.
Ich wollte eigentlich eine Klasse suche, die die suchen Kunde aufnimmt, aber dabei hieß es "Klasse Iterator not found". Warum?
Code:
public class Kunde {
private String kunde;
private String name;
private int kundennummer;
public Kunde() {
}
public Kunde(String name,int kundennummer) {
this.kundennummer=kundennummer;
this.name=name;
}
public int getKnr() {
return kundennummer;
}
public String getName(){
return name;
}
public String ausgebenKunde() {
kunde=getName()+"\t\t"+getKnr();
return kunde;
}
}
Code:
public class Selektor {
private boolean uebergabe;
private boolean sternMatchV;
private boolean sternMatchH;
private boolean sternMatch;
private boolean frageMatch;
Kunde k1 = new Kunde();
KundenContainer kc=new KundenContainer();
/** Creates a new instance of Selektor */
public Selektor() {
}
// public void setEingabe(String eingabe, Kunde einKunde){
// this.eingabe=eingabe;
// this.einKunde=einKunde;
// }
public void sucheName() {
String eingabe=IOTools.readString("Suche: ");
for(Iterator iter = kc.v.iterator(); iter.hasNext();){
Kunde k1=(Kunde)iter.next();
String name = k1.getName();
int nr = k1.getKnr();
String ausgabe2="";
//Durchlauf eines einzelnen Elements und Längenbestimmung
for(int x=0;x<eingabe.length();x++ ){
char zwischen[] = {name.charAt(x)};
String ausgabe = new String(zwischen);
//Abfang falls Eingabe länger als vorhandene Kundennamenlänge
if(eingabe.length()>name.length()){
break;
}
// falls in der Eingabe ein Fragezeichen vorhanden ist:
if(eingabe.charAt(x)=='?'){
ausgabe2 = ausgabe2+ausgabe;
}
if (eingabe.charAt(x)==name.charAt(x)) {
ausgabe2 = ausgabe2+ausgabe;
}
if(ausgabe2.matches(name)){
frageMatch = true;
}else{
frageMatch = false;
}
}
//falls in der Eingabe ein Stern vorhanden ist:
try{
if(eingabe.substring(0,eingabe.indexOf('*')).matches(name.substring(0,eingabe.indexOf('*')))){
sternMatchV = true;
}else{
sternMatchV = false;
}
if(eingabe.substring(eingabe.indexOf('*')+1,eingabe.length()).matches(name.substring(name.length()-(eingabe.length()-eingabe.indexOf('*')-1), name.length()))){
sternMatchH = true;
}else{
sternMatchH = false;
}
// Vergleich, ob vorderer und hinterer Teil mit der Eingabe übereinstimmt
if(sternMatchV && sternMatchH){
sternMatch=true;
}else{
sternMatch=false;
}
}
catch(Exception e){
}
if(sternMatch || frageMatch){
uebergabe=true;
}else{
uebergabe=false;
}
}
}
public void getUebergabe(){
if(uebergabe==true){
System.out.println("gfunden!");
}
else
{
System.out.println("nada!");
}
//return uebergabe;
}
}
Hier kann man nach Namen in der DB/Vector suchen!
ha?s findet z.B. hans, haus
ha* findet haller, haber, hasselbacher, halaaaaaaaaa etc....
Leider bekomm ich es nicht zum laufen, obwohl die Syntax stimmen müsste. Hab ich aus nem anderen Programm reinkopiert. Sind wohl manche Dinge einfach falsch instanziiert, glaub ich.
Kann mir jemand dabei helfen, die 4 Klassen zu sortieren und lauffähig zu machen?
Die Inhalte (und Vector) ist / sind vorgeschrieben. Es geht nur darum, dass man das Programm lauffähig macht.
Hab Druck, da ich es bis 22. fertighaben muss und wär euch daher dankbar, wenn sich jemand die Mühe macht!![/code]