Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich möchte folgendes machen, finde aber nicht die richtige Methode dazu, vielleicht kann mir jemand helfen.
Wie kann ich einen Eingangsparameter prüfen, ob er ein Integer ist?
Der Eingangsparamter kommt aus einem Integer Array (int []).
Ich habe es mit der Funktion isDigit probiert, allerdings verlangt diese einen Character. Ich suche daher nach einer Möglichkeit um das in dieser Form schreiben zu können:
if (!isDigit(list)){
.....
}
Meine Klasse heißt "Sort" und dieser Fehler kommt dazu ->
Error: The method isDigit(int) is undefined for the type Sort
Eine andere frage auch noch:
Wie kann ich herausfinden, wieviele Stellen eine Integerzahl in Binärformat hat?
Hm, kann es sein, dass du da was durcheinander bringst?
Ein int ist ein primitiver Datentyp, der von der Klasse Integer "eingewickelt" wird, um brauchbare Methoden zur Arbeit mit diesem Ganzzahltyp liefern.
In einem int-Array können nur ganze Zahlen (ints) gespeichert werden, anderen Falls wird eine Exception geworfen.
Für ein Integer-Array gilt das Gleiche, es können nur Integer-Objekte darin gespeichert werden.
Das heißt, du kannst nichts anderes als ints bzw. Integer-Objekte in deinem Array haben, was eine Prüfung überflüssig macht.
Bin mir zwar sicher das es nicht das ist was du suchst aber als Hinweis trotzdem. Wenn du ein SWT Textfeld hast kannst du ein Listener einbauen der die Eingabe überprüft. Ob das in Swing auch geht keine Ahnung
Code:
Text ip1Tx = new Text(shell,SWT.SINGLE|SWT.BORDER);
ip1Tx.addVerifyListener(new VerifyListener() {
public void verifyText(VerifyEvent e) {
e.doit = "0123456789.".indexOf(e.text) >= 0 ;
}
});
Du könntest entweder sehr einfach in einen Binär-String umwandeln und die länge davon ausgeben:
Code:
String s = Integer.toBinaryString(129);
System.out.println(s.length());
oder noch etwas lässiger mit selbstrechnen - indem du die Zahl einfach immer wieder durch 2 teilst und guckst ob das ergebnis nicht 0 ist... wenn nicht, dann wieder durch 2 teilen etc... - dabei die Teilungsvorgänge mitzählen:
Code:
public static int anzBinaerStellen(int zahl) {
int zaehler = 0;
while (zahl >0) {
zahl = zahl / 2;
zaehler++;
}
return zaehler;
}