String zu Int konvertieren

Cyneon

Mitglied
Ich habe ein String-Input der aus Buchstaben, Zahlen und Sonderzeichen besteht. Dieser String soll nun in ein Array geschrieben werden und dann jederzeit wieder abgefragt und mit einer anderen Eingabe verglichen werden. Dazu muss der String einem int zugewiesen werden, sofern ich das richtig verstanden habe. Rein theoretisch nur mit Zahlen im String, ist das ja so machbar:
int beliebername = IntegerparseInt("beliebigeZahl);
Jedoch wirft er bei mir FormatException, da ja der String nicht nur aus Zahlen besteht.
Gibt es noch eine Möglichkeit mein String in ein Int "umzuwandeln" ?
 
Wie genau meinst du das? Einen String, der nicht aus Zahlen besteht, in Zahlen umzuwandeln klingt nicht nur unlogisch sonder ist auch unlogisch 😱
Oder willst du nur die Zahlen in diesem String auslesen und abspeichern?
 
Falls du Strings vergleichen willst, das geht mit equals:
Java:
if(meinErsterString.equals(meinZweiterString)) { ... }
 
Ich habe
String truepasswort = JOptionPane.showInputDialog("Dein Passwort eingeben:");
und möchte mein Input nun in ein Array schreiben. Danach möchte ich ein neuen Input in einer anderen Methode eingeben und diesen mit dem Input aus dem array vergleichen. Ich vermute mal dass das so nicht klappt. Habe aber ansonsten auch keine Ahnung wie ich das sonst machen soll.
 
Nunja, dann musst du genannten Eingabestring irgendwo abspeichern. Die neue Eingabe ebenso irgendwo abspeichern, und die beiden Strings wie von InfectedBytes beschrieben vergleichen.
Ich vermute mal dein Problem liegt beim "einlesen" der Daten?
Oder meinst du mit: "einem int zugewiesen werden" , dass die entsprechenden Strings einfach in einem Array abgespeichert werden, wobei dein "int" der index ist?
Fangen wir einfach mal mit dem abspeichern an, wenn du den String schon gegeben hast, wie würdest dus machen?
Bzw. beschreibe mal genauer, was du machen willst, nicht was du glaubst machen zu müssen um das genannte zu erreichen 😀
 
Mich verwirrt auch das Array. Was genau soll denn wie gespeichert werden, wenn ich z.B. das Passwort "strenggeheim" eingebe? Das ist ja erst einmal nur ein einzelner String. Die Anforderungen müssten hier einmal präzise definiert werden.
 
Willst du den String in ein char array aufteilen?
So machst ja auch das JPasswordField, das gibt keinen String sondern ein Char-Array.
Code:
char[] array="strenggeheim".toCharArray();
 
Hallo Tiding, sorry das ich mich erst so spät melde. Ich habe es endlich hinbekommen und stehe sozusagen vor einem neuen Problem.

Ich weiß nicht ob ich ein neuen Thread aufmachen soll.
Aufjedenfall, möchte ich eine main methode haben und diese soll die Möglichkeit geben zwischen zwei methoden zu wählen. wie es mir aber scheint gibt es keine Möglichkeit non static methoden in static methoden aufzurufen ohne diesen schon ein"Wert" zu zuweisen.
Das ist meine main:
Code:
public static void main(String[] args)
    {
        String s = JOptionPane.showInputDialog(null, "Wählen sie aus");
        boolean tests = "".equals(s);
        if ( tests == true || s == null)
        {
           int i = JOptionPane.showConfirmDialog(null, "Moechten sie weiter fortfahren?");
           if( i == JOptionPane.YES_OPTION)
           {
              main(args);
           }
           else
           {
               JOptionPane.showMessageDialog(null, "Schoenen Tag noch");
               return;
           }
        }
        if( tests != true)
        {
          int auswahl =  Integer.parseInt(s);
          Anmeldung foo = new Anmeldung();
          foo.registrierung();
          switch (auswahl)
          {
              case 1:
                      //hier soll eine methode aufgerufen werden
                      break;
              case 2:
                      //hier soll eine methode aufgerufen werden
                       break;
              default:
                       main(args);
                       break;
          }
    
        }
    }

PS: Ich weiß dass ich eigentlich keine static methode hier verwenden kann. Ich möchte aber eine Startmethode haben. Die sowohl von java und cmd ausgeführt (erkannt) wird.
 
Zuletzt bearbeitet:
Also eine Rekursion auf der main Methode ist relativ unüblich. Hier hätte ich erwartet, dass eine while Schleife oder so Verwendung findet.

Methoden kannst Du aufrufen, nur eben brauchst Du Instanzen, auf denen du diese aufrufst oder die Funktionen müssten statisch sein. Du solltest Dir einfach einmal überlegen, was Du genau machen willst. Was für "Objekte" hast Du denn da dann so? Du hast evtl. sowas wie ein Spielbrett oder was auch immer.

Du hast zwei if Anweisungen. Die sehen so aus, also ob das eigentlich ein if /else Konstrukt sein könnte.

Der Aufbau könnte mit weiteren Funktionen übersichtlich gestaltet werden. Denkbar wäre z.B. etwas wie:
Java:
public static void main (String[] args) {
  while (true) {
    int auswahl = askUserForSelection();
    switch (auswahl) {
      case 0: 
          return;  // just quit the application
      case 1:
          // Whatever
          break;
      case 2:
          // Whatever
          break;
    }
  }
}
In der static int askUserForSelection() kannst Du dann die Daten abfragen und eben 0, 1 oder 2 zurück geben.

Dies könnte man aber auch schon in eine Instanz verlagern. Dann wäre dies statt static void main(...) eine void run() funktion und das könnte dann so aussehen:
Java:
public class Program {
  public void run() {
    // wie main oben!
  }

  public static void main(String[] args) {
    Program program = new Program();
    program.run();
  }
}

Das sieht jetzt zwar unnötig aus, aber das macht schnell Sinn, wenn in die Klasse noch mehr Dinge eingebaut werden.

Konrad
 

Neue Themen


Zurück
Oben