• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Java Hilfe

Status
Für weitere Antworten geschlossen.

Tooser

Neues Mitglied
Hi,
wie kann ich folgende Zeile in Java vereinfachen:
"if (m == 1 || m == 2 || m == 3 || m == 4 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){"

kurz gesagt: ich will checken ob int m den Wert einer der Zahlen hier hat.

Bin noch blutiger Anfänger, also sorry wenn ich etwas grundlegendes frag... :)

MfG
Tooser
 
dann mach es doch mit switch.

Viel zu komplex mit switch !

da man dann für ca. 10 Fälle immer das gleiche Machen muss ...

Aber falls Du das eventuell öfter verweden willst, könntest Du das auch ein wenig komplexer lösen ^^ :-D (Steinigt mich, es ist nicht das performanteste)
aber so arbeitest du wenigstens mit objekten ( sinn der oop)

Code:
// if (m == 1 || m == 2 || m == 3 || m == 4 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
    
    Vector vector = new Vector();
      vector.add(new Integer(1));
      vector.add(new Integer(2));
      vector.add(new Integer(3));
      vector.add(new Integer(4));
      vector.add(new Integer(5));
      vector.add(new Integer(7));
      vector.add(new Integer(8));
      vector.add(new Integer(10));
      vector.add(new Integer(12));

    for(int i=0; i<vector.size(); i++)
    {
      Integer integerBack = (Integer)vector.get(i);
      
      int intCheck = integerBack.intValue();
      
      if(m == intCheck)
      {
        // Hier die Anweisung
      }       
    }
 
:shock:

Geht doch viel kürzer mit switch:
Code:
switch (m)
{
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        // mach was
}

Außerdem ist das übersichtlicher und bestimmt schneller als deine Methode. *anfang steine zu werfen*
 
:shock:

Geht doch viel kürzer mit switch:
Code:
switch (m)
{
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        // mach was
}
Außerdem ist das übersichtlicher und bestimmt schneller als deine Methode. *anfang steine zu werfen*

Jo, hab nicht mehr daran gedacht, das man die ganzen Fälle zusammenfassen kann -.- :cry:
 
Wenn du bei der if angabe beleiben willst bringt das hier wohl die beste performance. Ist übrigens die angesprochene vereinfachung die hier niemand gemacht hat...

Code:
if ((m >= 1 && m <= 4) || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)

Weiter vereinfachen geht nicht. Aber so erhällt du die besser performance (sofern es dir auch micro/nano sekunden ankommt...)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben