Alternative zur Klasse

Status
Nicht offen für weitere Antworten.

chinchiller

Neues Mitglied
Hallo,
ich hab mal eine Frage.
Und zwar, kann ich diese Klasse auch ohne Arreys und For-Schleifen hinbekommen?!
Sprich nur mit if,else,do,while.

Hier die Klasse:
Code:
import java.io.IOException;
import java.util.Arrays;


/**
 *  [b]Klasse:[/b]	GeldautomatenTest

 * 	Ein neue Geheimzahl (PIN) wird erstellt, die dann auf Sicherheit getestet wird.
 *  @author	Nicolai Ulbrich
 *  				Datum:	07.06.2005
 	 		 	 
 */
public class GeldAutomat
{
  
  /** Speichert die Ziffern der Geheimzahl.*/
  private int geheimZahl [] = new int[4] ;                //   "= new int[4]" oder "= {1,1,1,1}; 
  
  
  /**
   * Erzeugt einen neuen Geldautomaten-Test.
   * @throws IOException
   */
 
  public GeldAutomat() throws IOException
  {
   	erzeugeGeheimZahl();
  }
  
  
  /** 
   * Liefert die Geheimzahl.
   * @throws IOException 
   * @return geheimZahl
   */
  public int[] liefereGeheimZahl() throws IOException
  {	
  	return geheimZahl;
  }
  
  /** 
   * Testet die Sicherheit der Geheimzahl und liefert den Durchschnitt der eingezogenen Chipkarten.
   * @throws IOException 
   * @return durchschnittEingezogenerKarten
   * @param anzahlDurchlaeufe 
   */  
  public int testGeheimzahl(int anzahlDurchlaeufe) throws IOException
  {
  	int alleEingezogenenKarten = 0;
  	if (anzahlDurchlaeufe <= 0 || anzahlDurchlaeufe > 100000 )
  	{
  		anzahlDurchlaeufe = 1;
  	}
  	else
  	{
  		MeinRandom zahl = new MeinRandom();
  	 	int eingezogeneKarten = 0;
  	 	int[] testPin = new int[4];
  	 	for(int testAnzahl = anzahlDurchlaeufe; testAnzahl >=1; testAnzahl--) 
  	 	{
  	 		eingezogeneKarten = 0;
  	 		boolean testPinGleichGeheimZahl = false;
  	 		do
  	 		{
  	 			for (int versuch = 3; versuch >=1; versuch--)					//   führt die überprüfung 3 mal durch
  	 			{	
  	 				for (int stelle = 0; stelle <= 3; stelle++)						// erstellt neuen testPin	
  	 				{
  	 					testPin[stelle] = zahl.nextInt(1,9);
  	 				}
  	 				
  	 				//testPinGleichGeheimZahl = ( testPin[0] == geheimZahl[0] && testPin[1] == geheimZahl[1] && testPin[2] == geheimZahl[2] && testPin[3] == geheimZahl[3] );
  	 				 testPinGleichGeheimZahl = Arrays.equals(testPin, geheimZahl);
  	 				if ( testPinGleichGeheimZahl )
  	 				{	
  	 					eingezogeneKarten--;
  	 					versuch = 0;
  	 					erzeugeGeheimZahl();
  	 				}
  	 			}
  	 			eingezogeneKarten++;
   	 		} while ( !testPinGleichGeheimZahl );
  	 		alleEingezogenenKarten += eingezogeneKarten ;
  	 	}
  	} 	
  	int durchschnittEingezogenerKarten = alleEingezogenenKarten / anzahlDurchlaeufe ;
  	return durchschnittEingezogenerKarten;
  }
  
  /** 
   * Erzeugt eine neue Geheimzahl.
   * @throws IOException 
   */
  private void erzeugeGeheimZahl() throws IOException
  {	
  	MeinRandom zahl = new MeinRandom();
  	for (int stelle = 0; stelle <= 3; stelle++)
  	{
  		geheimZahl[stelle] = zahl.nextInt(1,9);
  	}
  }
}

Wäre klasse wenn es noch andere Möglichkeiten geben würde.
 

byte

Top Contributor
Jo klar. Eine For-Schleife kann man generell auch immer mit einer While-Schleife machen. Und statt eines Arrays kann man auch entsprechend alle Elemente einzelnd als Variablen abbilden. Die Frage ist halt nur, warum man das tun sollte. ;)

Also z.B. statt:

Code:
int[] arr = new int[] {1, 2, 3, 4};

machst Du dann halt sowas:

Code:
int a1 = 1;
int a2 = 2;
int a3 = 3;
int a4 = 4;


Oder statt der For-Schleife:

Code:
for(int i=0; i<10; i++) {
  ...
}

kannst Du das auch mit ner While Schleife machen:

Code:
int i=0;
while(i<10) {
  i++;
  ...
}
 

chinchiller

Neues Mitglied
Das Problem ist, dass ich noch nie mit Arrays gearbeitet habe.
Deswegen wusste ich nicht wie ich das ersetzen konnte. :lol:

Aber vielen Dank für die anderen Aufgenannten Möglichkeiten!! :applaus:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Alternative zu Stream.forEach() Java Basics - Anfänger-Themen 6
T Alternative für switch case Java Basics - Anfänger-Themen 1
S Input/Output System.out.println - Manipulieren bzw. Alternative..? Java Basics - Anfänger-Themen 2
H Alternative Eingabe Java Basics - Anfänger-Themen 3
N Alternative für mehrdimensionales Array Java Basics - Anfänger-Themen 25
K Alternative zur If-Abfrage Java Basics - Anfänger-Themen 3
P Alternative zu scan.nextLine() Java Basics - Anfänger-Themen 4
N Benötige eine Alternative für einen GOTO Befehl Java Basics - Anfänger-Themen 2
E Brauche eine Antwort zum Thema RegEx ( Alternative zur Lösung auch gesucht ) Java Basics - Anfänger-Themen 5
I Input/Output Alternative zur Serialisierung/ ImageJ Objecte Java Basics - Anfänger-Themen 7
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
kaoZ Alternative zu ToggleButton (Android/Java) Java Basics - Anfänger-Themen 12
H Best Practice Alternative Möglichkeit, um Eingaben vorzunehmen Java Basics - Anfänger-Themen 13
M renameTo alternative? Java Basics - Anfänger-Themen 11
A Alternative zum manuellen Swing programmieren?? Java Basics - Anfänger-Themen 4
J alternative zu getText() ? Java Basics - Anfänger-Themen 15
lulas[]args Alternative zu System.err.println(); Java Basics - Anfänger-Themen 5
xehpuk (Sichere) Alternative zu Class.forName() Java Basics - Anfänger-Themen 9
F Alternative zu JoptionPane Java Basics - Anfänger-Themen 7
A Alternative instanceof Java Basics - Anfänger-Themen 3
DStrohma Alternative Darstellung von Paketen in Eclipse Java Basics - Anfänger-Themen 2
S Datentypen LinkedList Konstruktor, add Alternative Java Basics - Anfänger-Themen 2
B Alternative zu einem Array gesucht Java Basics - Anfänger-Themen 3
S Webapplikation welche alternative zu gwt? Java Basics - Anfänger-Themen 2
S Alternative Implementierungen für ActionListener Java Basics - Anfänger-Themen 7
E Strings hochzählen oder elegante alternative? Java Basics - Anfänger-Themen 3
hdi Alternative zu JTextArea? Java Basics - Anfänger-Themen 3
F Java Native Interface alternative Java Basics - Anfänger-Themen 4
M Erneutes Ausführen bestimmter Aktionen (GoTo-Alternative) Java Basics - Anfänger-Themen 6
R Alternative zu "Format" in Java 1.4 Java Basics - Anfänger-Themen 3
R String replace nicht verwenden.alternative gesucht Java Basics - Anfänger-Themen 5
V Alternative zu Thread.sleep() ? Java Basics - Anfänger-Themen 6
G Alternative zu Split für 1.3 Java Basics - Anfänger-Themen 3
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
frager2345 Optional Klasse Java Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Klassen Typ und Intitialisierungs-Klasse, wer bestimmt was? Java Basics - Anfänger-Themen 1
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
frager2345 Java Klasse Buch verwalten Java Basics - Anfänger-Themen 0
frager2345 Java eigen Klasse zum verwalten von Büchern Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29
C Int an andere Klasse übergeben Java Basics - Anfänger-Themen 26
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
B Klasse "Character" Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
I Array Länge in Klasse festlegen Java Basics - Anfänger-Themen 1
L Klassen Vektor Klasse Java Basics - Anfänger-Themen 2
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
M Interface als Parameter einer Klasse Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
W Klasse existiert prüfen Java Basics - Anfänger-Themen 5
U Wie ein Attribut von einer Klassenmethode in der Klasse speichern= Java Basics - Anfänger-Themen 2
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
J Fehler bei array aus anderer Klasse Java Basics - Anfänger-Themen 3
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
C Auf die Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 1
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
KogoroMori21 Objektvariable anderer Klasse übernehmen, Getter/Setter Java Basics - Anfänger-Themen 11
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
tony241188 Implementieren Sie die Klasse Hersteller, welche die folgenden Elektrogeräte produziert Java Basics - Anfänger-Themen 3
J Junit4 Klasse erstellen Java Basics - Anfänger-Themen 5
T Auf Instanz der selben Klasse aus überschriebener Methode in Methode zugreifen. Java Basics - Anfänger-Themen 2
M Scanner Klasse Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben