4. Vorlesung - Institut für Informatik

Werbung
Verteilte Software - Java - Utilities 1
// Aufzaehlungschnittstelle
import java.util.*;
public class ArbRaum
Zimmer 104:
{ public static void main (String args[])
{ AR zi104 = new AR(3);
Meier
zi104.add_ak(0, "Meier");
Schulze
zi104.add_ak(2, "Schulze");
System.out.println("Zimmer 104:");
for ( Enumeration e = zi104.elements(); e.hasMoreElements(); )
{ System.out.println(' ' + ((APlatz)e.nextElement()).getPerson() ); }
}
class AR_Enumerator implements Enumeration
}
{ APlatz all[];
class AR
int pos;
{ APlatz ap[];
AR_Enumerator(AR araum) { all = araum.ap; pos = 0; }
AR (int anz)
public boolean hasMoreElements()
{ ap = new APlatz[anz];
{ while ((pos < all.length) &&
for (int i = 0; i<anz; i++)
(all[pos].getPerson().equals("") )) pos++;
ap[i] = new APlatz(); }
return pos < all.length; }
void add_ak(int index,
public Object nextElement()
String name)
{ if (pos < all.length) return all[pos++];
{ ap[index].setPerson(name);}
else throw
Enumeration elements()
new NoSuchElementException("AR_Enumerator");
{return new AR_Enumerator(this);}
}
}
}
class APlatz
{ private String name; APlatz () {name = "";}
void setPerson(String name){ this.name = name; }
String getPerson(){ return name; }
}
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik
Verteilte Software - Java - Utilities 2
// Aufzaehlungschnittstelle - Vector
import java.util.*;
public class ArbRaum_v
{ public static void main (String args[])
{ Vector zi104 = new Vector(10);
APlatz_v ap;
ap = new APlatz_v();
ap.setPerson("Meier");
zi104.addElement(ap);
zi104.addElement(new APlatz_v("Schulze"));
System.out.println("Zimmer 104:");
for ( Enumeration e = zi104.elements(); e.hasMoreElements(); )
{ System.out.println(' ' + ((APlatz_v)e.nextElement()).getPerson() ); }
}
}
class APlatz_v
{ private String name;
APlatz_v () { this(""); }
APlatz_v (String name){ this.name = name; }
void setPerson(String name){ this.name = name; }
String getPerson(){ return name; }
}
Zimmer 104:
Meier
Schulze
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik
Verteilte Software - Java - Utilities 3
class APlatz_h
// Aufzaehlungschnittstelle - Hashtable
{ private String vname;
import java.util.*;
private int alter;
public class ArbRaum_h
APlatz_h () { this("", 0); }
{ public static void main (String args[])
APlatz_h (String vname, int alter)
{ String namen[] = new String[]
{ this.vname = vname;
{"Meier", "Schulze", "Huhn", "Mustermann"};
this.alter = alter;
Hashtable zi104 = new Hashtable();
}
APlatz_h ap;
void setPerson(String vname,
zi104.put("Schulze", new APlatz_h("Petra", 17));
int alter)
ap = new APlatz_h();
{ this.vname = vname;
ap.setPerson("Dieter", 25); zi104.put("Meier", ap);
this.alter = alter;
zi104.put("Mustermann", new APlatz_h("Franz", 35));
}
System.out.println("Zimmer 104:");
String getVName(){ return vname; }
for ( Enumeration e = zi104.elements();
int getAlter(){ return alter; }
e.hasMoreElements(); )
}
{ ap = (APlatz_h)e.nextElement();
System.out.println (' ' + ap.getVName() + " ist "
+ ap.getAlter() + " Jahre alt");
}
System.out.println("Suche:");
Zimmer 104:
for (int i = 0; i < namen.length; i++)
Dieter ist 25 Jahre alt
{ ap = (APlatz_h)zi104.get(namen[i]);
Franz ist 35 Jahre alt
if (ap != null) System.out.println (ap.getVName()
Petra ist 17 Jahre alt
+ ' ' +namen[i] + " ist "
Suche:
+ ap.getAlter() + " Jahre alt");
Dieter Meier ist 25 Jahre alt
else System.out.println("Nicht gefunden: "+namen[i]); Petra Schulze ist 17 Jahre alt
}
Nicht gefunden: Huhn
}
Franz Mustermann ist 35 Jahre alt
}
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik
Verteilte Software - Java - Utilities 4
// Zerlegung von Zeichenketten
import java.util.*;
Text 1:
Mit
JAVA
public class Token
kann
{
public static void main (String args[])
man
{
gut
String Text = "Mit\tJAVA\tkann man gut programmieren.";
programmieren.
String Formel = "y=sin(k*x)";
Text 2:
StringTokenizer st;
Mit
JAVA
System.out.println("Text 1:");
for (Enumeration e = new StringTokenizer(Text); e.hasMoreElements(); ) kann
{
man
System.out.println( e.nextElement() );
gut
}
programmieren
System.out.println("Text 2:");
Formel:
for (st = new StringTokenizer(Text," \t."); st.hasMoreElements(); )
y
{
System.out.println( st.nextElement() );
=
}
sin
System.out.println("Formel:");
(
st = new StringTokenizer(Formel," ()=*+-/%", true);
k
while( st.hasMoreTokens() )
*
{
x
System.out.println( st.nextToken() );
}
)
}
}
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik
Herunterladen