Probleme mit Deklaration

  • Themenstarter Themenstarter Joker
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
J

Joker

Gast
hi,
ich bin ein absoluter anfänger mit java, also verzeiht meine unwissenheit.

ich möchte mir ein programm schreiben, dass mir sagt, ob eine eingabe aus 4 zeichen besteht und nur aus zahlen.
wenn die eingabe nicht aus 4 zeichen besteht oder es nicht ausschließlich aus zahlen besteht, soll ein minuswert ausgegeben werden z.b. -1.

hier mal mein code:

Code:
class hello
{  
        public static void main(String args[])
        {
            int i;
            if ((args == null) || (args.length) == 1)
            {
                i = myisInt(args[0]);
            }
 
        	
           	System.out.println("ergebnis:  " + i);
}
        
        private static int myisInt(String a)
        {
        	
            int x = a.length();
            if (x != 4) //wenn eingegebener wert nicht aus 4 zeichen besteht...
            {
                 x = -1;//...soll -1 ausgegeben werden
            }
 
        	return x;
        }
}

also wenn ich nun diesen code in eine *.class datei umwandeln will (kenne das fachwort nicht, hoffe ihr versteht, was ich meine), kommt folgender fehler:

hello.java:12: variable i might not have been initialized
System.out.println("ergebnis: " + i);


ich wäre für jede antwort dankbar

gruß joe
 
es heisst "kompilieren"

schreib int i=0; in Zeile 6

(java verlangt, dass alle "lokalen" Variablen initialisiert werden)
 
vielen dank Bleiglanz

ok ich kann nun feststellen, ob eine eingabe gemacht wurde und ob sie aus 4 zeichen besteht.

weißt du vielleicht auch, wie ich feststelle, ob meine eingabe nur aus zahlen besteht?
 
Code:
 private static int myisInt(String a)
        {
            if(a!=null && a.matches("\\d{4}"))
            {
               return a.length; //ist quatsch da immer 4
             }
             return -1;
         }
 
Ich glaub 'args' brauch man auch nicht auf null prüfen, nur mal so neben bei.
 
wieso nicht? man kann die main methode auch aus dem code aufrufen, und dann koennen die argumente null sein
 
Stimmt, aber wer macht solche Schweinereien?
[edit]
Und wenn dann:
if ((args != null) && (args.length) == 1)
 
nachdem ich auf code wie

Code:
List values=...

//macht ein bischen damit

// das hier scheint ein beliebtes spielchen zu sein, da an einigen stellen entdeckt
while(values!=null)
   values=null;

gestossen bin, gehe ich immer vom schlimmsten aus
 
der code von KISS hat funktioniert.
vielen dank damit sind meine probleme vorerst gelöst.

gruß Joker
 
habe noch mal ne frage zu diesem code:

Code:
if(a.matches("\\d{4}"))

das heißt ja so viel, wie: wenn a eine zahl ist und aus 4 zeichen besteht, soll etwas passieren.

und wie kann ich testen, ob der wert eine zahl ist, ohne gleich zu testen, ob er aus 4 zeichen besteht?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben