Programmieren – die neusten Beiträge

Java Switch Case im Falle, dass alle "case"s falsch sind?

Ich habe ein paar if-else-Ausdrücke, die ich gut durch switch ersetzen könnte, jedoch möchte ich auch ein else-Statement behalten, d.h. wenn alle Bedingungen vorher unwahr sind - (wie) geht das?

String test = "2";
if (test.charAt(0) == 'a') {
 System.out.println("1");
} else if (test.charAt(0) == 'b'){
 System.out.println("2");
} else if (test.charAt(0) == 'c'){
 System.out.println("3");
} else if (test.charAt(0) == 'd'){
 System.out.println("4");
} else if (test.charAt(0) == 'e'){
 System.out.println("5");
} else {
 System.out.println("Nicht vorhanden"); 
}


String test = "2";
switch(test.charAt(0)){
  case 'a': System.out.println("1"); break; // if bzw. if else
  case 'b': System.out.println("2"); break; // if bzw. if else
  case 'c': System.out.println("3"); break; // if bzw. if else
  case 'd': System.out.println("4"); break; // if bzw. if else
  case 'e': System.out.println("5"); break; // if bzw. if else
  case test.charAt(0): System.out.println("Nicht vorhanden"); break; //else-Äquivalent
}

doch dann, selbst wenn ich test.charAt(0) in eine Variable extrahiere, erhalte ich:

"case expressions must be a constant statement".

Und das macht natürlich auch Sinn, dennoch wollte ich fragen, ob es eine Möglichkeit gibt, mit Switch-Cases eine Möglichkeit zu haben, wenn kein Fall korrekt ist. Und damit meine ich nicht, eine boolische Variable einzuführen, die dann in allen cases verändert wird.

Computer, programmieren, Java

Array in ein anderes Array absteigend sortieren - Java?

Hallo Zusammen,

ich würde gerne ein Array in ein anderes Array absteigend sortieren.

Wenn ich in der for-Schleife und auch im weiteren Verlauf immer den letzen Index, also hier 3 manuell eingebe, läuft mein Programm tadellos. Jedoch möchte ich nicht von einer bestimmten Array-Länge abhängig sein und deshalb die Abbruchbedingung "hoch.length" anstatt eines festen Indexes nutzen, damit ich das Array auch ggf. erweitern kann.

Hier habe ich aber irgendwo einen Fehler und finde einfach nicht warum ich einen "Index out of bound" Fehler in der kursiv markierten Zeile erhalte.

Kann mir vielleicht jemand sagen wo mein Fehler liegt?

Danke!

public static void main(String[] args) {
      //   Index   =            0,1,2,3
         int [] hoch = new int []{2,3,4,5};            
         // neues array "runter" erstellen mit der Länge von Array "hoch"
         int [] runter = new int [hoch.length];
         // Start bei 0, Ende bei hoch.length
         for(int i=0; i <= hoch.length; i++) {
         // Hilfsvariable "hilfe" einbauen     
         int hilfe;                                    
  // hoch.length ist mein letzter Durchgang, -1 da ich eine Position mehr habe als dass ich einen Index habe
         runter [i] = hoch [hoch.length -i -1];
         hilfe = runter [i];
         }     
         // Ausgabe
         System.out.println("Array hoch:" + " " + Arrays.toString(hoch));
         System.out.println("Array runter:" + " " + Arrays.toString(runter));
         }}
Computer, Schule, programmieren, Java, Array

ich soll zwei Dateien vergleichen C#?

Programmiere noch nicht so lange, brauche deshalb eure Hilfe Ich soll zwei Dateien A & B mit einander vergleichen. der Unterschied soll in eine dritte Datei geschrieben werden. Alles was in Datei A geändert wurde soll in die dritte datei mit rot markiert werden. Alles was neu hinzugefügt ist soll mit blau markiert werden. könnt ihr mir bitte helfen??

public void Dateivergleich(string A, string B)
    {
      string path = @"C:\Users\Z0009918\Desktop\Test1";
      string[] linesA = File.ReadAllLines(A);
      string[] linesB = File.ReadAllLines(B);
      //IList<string> onlyB = linesB.Except(linesA).ToList();
      //for (var i = 0; i < onlyB.Count; ++i)
      // {
      //  if (onlyB[i].StartsWith("%"))
       
      //{
       //    onlyB[i] = "";
       // }
        IEnumerable<string> onlyB = linesB.Except(linesA);
        //}
        File.WriteAllLines(Path.Combine(path, "result.txt"), onlyB);
        
      // }
      /*for (int i = 0; i < linesA.Length; i++)
      {
        string row = linesA[i];
        if (row.StartsWith("%"))
        {
          IEnumerable<string> onlyA = linesB.Except(linesA);
          File.WriteAllLines(Path.Combine(path, "result.txt"), onlyB);
        }
        else
        {
          MessageBox.Show("Fehler");
        }*/
      }
    }
programmieren, C Sharp

Ist man mit 26 zu alt, um Programmieren zu lernen?

Also , ich würde gerne etwas neues in meinem Leben lernen und würde gerne meine aktuelle Arbeit am liebsten sofort kündigen, da die Arbeit eigentlich nix für mich ist (; leider habe ich viel zu viel auf meine Eltern gehört und dass gelernt, wo ich mich absolut nicht sehe (;

Leider habe ich etwas sorgen, dass ich mit 26 Jahren etwas zu alt dafür bin , denn viele fangen schon irgendwie mit 13-14 Jahren an und ich habe bis jetzt 0 Ahnung von Programmierung ...

deswegen habe ich paar Fragen :

  1. Ist man mit 26 Jahren zu alt um das Programmieren zu lernen ?
  2. Wenn nein, mit welcher Programmiersprache sollte ich anfangen (hier ein paar Punkte was für mich wichtig ist !
  • Die Sprache sollte aktuell und relativ einfach für Anfänger sein !
  • Würde gerne als Freelancer arbeiten und deswegen sollte es eine Sprache sein mit der ich leichter an Aufträge kommen kann und ca 1500 Euro verdienen kann (damit ich meinen Job kündigen kann , um noch mehr Zeit für das Programmieren zu haben ) Learning by Doing .
  • Und die Sprache sollte multifunktionsfähig sein und auf Windows laufen

Hier ein paar Gedanken die ich mir gemacht habe

  • Mit Webdesign anfangen also HTML / CSS lernen und die Programmiersprache Javascript und damit ( wenn ich es gelernt habe kann ich dann als Freelancer arbeiten oder ? )
  • und als nächstes dann Python lernen, da die Sprache relativ einfach ist , die Sprache ist auch multifunktionsfähig und läuft auch auf Windows und damit kann man dann viele Projekte starten und viele andere Sprache haben eine Ähnlichkeit, also könnte man auch , dann die anderen Sprachen später lernen, wenn man die Sprache gut beherrscht oder ?

3. Wie stehen eigentlich meine Chancen in der IT Branche ohne Studium/Ausbildung in dem Bereich, kann man es sich alles selbst beibringen und erfolgreich in dem Bereich werden , ohne jetzt extra Studiert oder Ausbildung gemacht zu haben ?

Kann ich z.b Webprogrammiurung in einem Jahr lernen und damit dann nach 1 Jahr ca 1500 Euro damit verdienen um meinen Job zu kündigen und damit dann mich finanzieren und es dann hauptberuflich machen ?

und die letzte frage was hat es eigentlich mit dem "Hallo Welt " aufsich? Warum fangen Anfänger damit an ?

Vielen Dank !!!

Computerspiele, Software, Hardware, Webseite, programmieren, Java, Antivirus, Code, Computersprache, Informatik, It-Branche, IT-Sicherheit, IT-Spezialist, künstliche Intelligenz, web-entwickler, Windows 10, Ausbildung und Studium

Was sind die Lösungen der 3 Fragen (Multiple Choice)?

Hallo, kann mir jemand helfen, diese 3 Fragen zu beantworten, komme nicht auf die Lösung.

Frage1

Welche Aussage über for-Schleifen ist falsch?

a.) Im Initialisierungsbereich der for-Schleife kann man beliebige Variablen deklarieren.

b.) Mit einer for-Schleife kann man jede Funktionalität erreichen, die man auch mit einer While-Schleife erreichen könnte.

c.) Mit For-Schleifen kann man keine Endlosschleifen erzeugen.

d.) Innerhalb einer for-Schleife können sich weitere Schleifen befinden.

Frage 2

Welche Anweisung wird ausgeführt?

int a=5;

int b=6;

int c=7;

if(a>b){

  Anweisung1;

}else{

  if(a<c){

    Anweisung2;

  }else{

    Anweisung3;

  }

}

Wählen Sie eine Antwort:

a.) Anweisung 1

b.) Anweisung 2

c.) Anweisung 3

d.) gar keine

Frage 3

Warum kann ein float automatisch in eine double gewandelt werden, aber nicht umgekehrt?

a.) Ersteres nennt man explizites Casten, beim Casten vom kleinerem (float) zum größerem Datentyp (double) muss das implizit geschehen.

b.) Ersteres nennt man implizites Casten, beim Casten vom größerem (double) zum kleinerem Datentyp (float) muss das explizit geschehen.

c.) Ersteres nennt man implizites Casten, beim Casten vom kleinerem (float) zum größerem Datentyp (double) muss das explizit geschehen.

d.)Ersteres nennt man explizites Casten, beim Casten vom größerem (double) zum kleinerem Datentyp (float) muss das implizit geschehen.

Computer, programmieren, Java

Python3: For-Schleife überspringt Element der Liste?

Hallo!

Ich wollte letztens in Python (3.7.4) mit einer for-Schleife durch eine Liste gehen, um jedes Element unter einer bestimmten Bedingung aus der Liste zu löschen.

Eine stark vereinfachte Version könnte so aussehen:

l = [1,2,3,4,5]

for i in l:

____print(i)

____if i == 2: l.remove(i)

____if i == 3: l.remove(i)

print(l)

Hier möchte ich also alle Zweien und Dreien löschen. Das ganze geht natürlich effektiver, übersichtlicher und schöner, aber meine Bedingungen waren ja auch etwas komplizierter und hier geht es nur ums Prinzip.

Die Ausgabe sollte dann meinen Erwartungen entsprechend so aussehen:

1

2

3

4

5

[1,4,5]

Tatsächlich sieht sie dann aber so aus:

1

2

4

5

[1,3,4,5]

In der for-Schleife ist niemals i == 3. Das ist darauf zurückzuführen, dass durch das Löschen der 2 alle Elemente in der Liste einen Platz nach links rutschen, wobei die for-Schleife um das nächste Element durchzugehen einen Schritt weiter nach rechts geht. Dabei werden all jene Elemente übersprungen, die hinter einem zu löschenden Element kommen. Das kann man sich so zwar erklären, ist aber nicht intuitiv.

Und eingebettet in mein Programm hat die Fehlersuche ewig gedauert, wer rechnet schon damit, dass die for-Schleife ein Listenelement überspringt?

Ich wollte euch hier nur diesen interessanten Fund zeigen und euch auch nach eurer Meinung dazu fragen :)

Der beste Lösungsansatz wäre doch die list-Comprehension, oder?

Was sagt ihr dazu?

Viele Grüße! :D

Computer, programmieren, Python 3

Wie erzeugt man Variablen automatisch durch das Programm in Python?

Hallo liebe Programmierer/innen,

ich möchte mich auf jeden Fall noch mal für die Hilfe letztens bedanken, da mir das sehr geholfen hat. Nun ist aber mein Problem, dass ich nicht herausfinden kann, wie man Variablen durch das Programm erzeugt. Ich habe zwar auf Google und YouTube gesucht, aber alles, was ich finden konnte, war ein Forum, wo es zwar genau darum geht, aber wo die Leute schrieben, ich zitiere: ,,Ist wahrscheinlich eine Frage die jeder für sich beantworten muss, aber ich finde solche "Lösungen" *sollten* verschwiegen werden." oder es wurde geschrieben, dass man das doch einfach mit dem "append()" Befehl in einer Liste machen kann. Eine Liste würde mir nur leider nicht wirklich etwas bringen. Sonst waren die Ergebnisse auch nur, wie man eine Variable erzeugt, also selber hartcodiert. Das kann ich aber schon und das trifft auch irgendwie meine Frage nicht. Nun weiß ich nicht mehr weiter, da das ziemlich essentiell für mich ist und ohne geht nicht, so sehr ich es auch versuche.

Das sind auch so die Momente, wo ich mich selber dafür hasse, dass mein Wissen ungenügend ist.

Da ich natürlich weiß, dass Programmierer ihre Freizeit zum Beantworten solcher Fragen opfern, weiß ich die Hilfe natürlich sehr zu schätzen und ich versuche es auch immer nach Möglichkeit zu vermeiden, da ich gelernt habe, dass man es immer erst selber versuchen soll und nicht sofort um Hilfe bitten sollte, da man so meist nichts dazu lernt, wie man Probleme auf eigene Faust löst, was ja eigentlich einer der Hauptaufgaben beim Programmieren ist.

Nur doof, dass mir einfach solche Basics fehlen. :-(

Ich wäre sehr dankbar, wenn mir da jemand weiterhelfen könnte.

*Gelöst*

Computer, programmieren, Informatik, Python

Habe ich im Programm alle Syntaxfehler gefunden?

Hallo, ich muss ein Programm auf Syntaxfehler überprüfen. Ich habe auch schon angefangen und habe das auch in einem Java-Compiler eingefügt, um zu prüfen. Ich komme aber nicht auf die Fehler, die ich da noch korrigieren muss.

Fehlerhaftes Programm:

public class Fehler {

public static void main(String args) {

System.out.println("Hallo!");

double long = 2;
double not_so_long = 0.3;
int area = long * not_so_long;

System.out.println(area);

boolean istLang = true;
bulean ist Kurz = istLang - 1;

System.out.println(istKurz);

String 1string = "Bye";
string string2 = "Bye!"
char c = "!";

System.out.println(1string+string2-c);

}

}

Korrigiertes Programm:

public class Korrigiert {
  public static void main(String[] args) {     
    System.out.println("Hallo!");

    double string = 2;
    double not_so_long = 0.3;
    int area = long * not_so_long;

    System.out.println(area);

    boolean istLang = true;
    boolean istKurz = istLang;

    System.out.println(istKurz);

    String String = "Bye";
    String String = "Bye!";
    char c = '!';  
       
    System.out.println(1string + string2 - c);     
  }
}

Ich hoffe, dass mir da jemand helfen oder Tipps geben kann, wo und was ich noch korrigieren muss. 🙂

Vielleicht noch dazu, es muss:

-Hallo!

-0,6

-false

-ByeBye!

herauskommen.

Danke im Voraus!

programmieren, Java, Syntaxfehler

Meistgelesene Beiträge zum Thema Programmieren