Java Hilfe

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… :slight_smile:

MfG
Tooser

if(m <= 12)
   {
   /*
   anweisung
   */
   }

Nils aka XraYSoLo

Es kommen aber nicht alle Zahlen bis 12 drin vor

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 ^^ :smiley: (Steinigt mich, es ist nicht das performanteste)
aber so arbeitest du wenigstens mit objekten ( sinn der oop)

// 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:

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:

Hab es nun mit Switch gemacht.
Danke für die Hilfe!

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…

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…)