Ich bin ziemlich neu in Java und das hat mich wirklich verwirrt.Mit einer Methode aus einer anderen Klasse
Ich habe zwei Klassen. Eine (controlNumber) hat zwei int-Felder, die für Zahlen verwendet werden, eine ist die aktuelle Nummer und eine ist die maximale Zahl (sobald die aktuelle Nummer erreicht ist, wird sie auf 1 zurückgesetzt). Der Konstruktor initialisiert die aktuelle Zahl auf 1 und nimmt das Maximum als Parameter (und prüft, ob das Maximum positiv und kleiner als 100 ist).
Von Methoden habe ich eine, die die aktuelle Zahl zurückgibt, eine, die die maximale Zahl zurückgibt, eine, die das Maximum als Strom setzt, eins, das der aktuellen Zahl 1 hinzufügt (es war das Maximum) und schließlich eins, das zurückkehrt ein String mit der aktuellen Nummer, bei der "0" vorangestellt wird, wenn die aktuelle Nummer nur eine Ziffer ist (also 5 wird 05).
Die toString sieht wie folgt aus:
Diese Klasse ganz gut funktioniert.
Die zweite Klasse ist, wo ich anfange, in Probleme zu laufen. Es hat zwei Felder der oben genannten Klasse. Der Konstruktor initialisiert sie mit zwei verschiedenen Maximalwerten. All das scheint zu funktionieren.
Jetzt brauche ich eine toString-Methode, die eine Zeichenfolge mit dem aktuellen Wert beider Felder zurückgibt, die ein "/" zwischen und "0" vor, wenn es eine Ziffer ist (also wenn Tag 3 und Monat ist 11 es ' lle zurück "03/11"). Mein erster Gedanke war, etwas wie das zu verwenden, was ich oben mit Integer.toString verwendet habe, aber es stellt sich heraus, dass dies nicht möglich ist (obwohl die Felder in der controlNumber-Klasse ints sind). Also dachte ich daran, meine Methode von oben zu benutzen (die in einer anderen Klasse ist), weil sie das meiste von dem macht, was ich will, aber ich weiß nicht wie.
Ich hoffe, dass ich Sinn gemacht habe und dass mir jemand helfen kann, herauszufinden, wie ich mein Problem lösen kann.
Dank. a und b können niemals null sein (wenn sie meinen Code haben, ist das schlecht durcheinander geraten: P). – GeorgeWChubby
Obwohl die Verwendung des ternären Operators eine große Verbesserung gegenüber dem darstellt, was er hatte, würde ich sagen, dass man sich angewöhnt hat, Strings richtig zu formatieren. String.format ("% 1 $" + n + "0", s); Dies würde eine linke aufgefüllte Zeichenfolge von Nullen zurückgeben, wenn die Länge der Zeichenfolge s kleiner als n ist. Sagen wir also n = 4 und s = "3", dann wäre die Rückkehr "0003". – bitxwise