Java Taschenrechner (Division und Graphische Oberfläsche?

Hallo Community, ich habe ein paar Fragen zu meinem Java Taschenrechner. Am Anfang möchte ich noch sagen das ich erst neu in Java bin und bitte keine besserrichen und herablassenden Antworten zu meinem Taschenrechner möchte.

Hier einmal mein Taschenrechner:

import java.util.Scanner; //Wichtig!

public class Taschenrechner {

    public static void main (String [] args) {
    
        System.out.println("Das hier ist ein Taschenrechner!");
        System.out.println("Bitte definiere die Variablen: a+b c-d e*f g/h");
        
    Scanner sc = new Scanner(System.in);
        double a = sc.nextInt();
            System.out.println("Variable a = " +a); // Anzeige für alle eingegebenen Variablen
        double b = sc.nextInt();
            System.out.println("Variable b = " +b);
        double c = sc.nextInt();
            System.out.println("Variable c = " +c);
        double d = sc.nextInt();
            System.out.println("Variable d = " +d);
        double e = sc.nextInt();
            System.out.println("Variable e = " +e);
        double f = sc.nextInt();
            System.out.println("Variable f = " +f);
        double g = sc.nextInt();    
            System.out.println("Variable g = " +g);
        double h = sc.nextInt();
            System.out.println("Variable h = " +h);
            
            
// Ab hier die Rechenopperrationen      
    double z = a + b; //Addition
    double y = c - d; //Subtraktion
    double x = e * f; //Multiplikation
                      //Division befindet sich weiter unten in der if Schleife
    
    
    
//Ab hier die Ausgabe der Ergebnise 
    System.out.println("Das Ergebnis der Addition lautet= " + z);
    System.out.println("Das Ergebnis der Subtraktion lautet= " + y);
    System.out.println("Das Ergebnis der Multiplikation lautet= " + x);
    if (h == 0) {
        System.err.println("Division durch 0 ist nicht möglich!");
    }
    else {
        double w = g / h; System.out.println("Das Ergebnis der Division lautet= " +w);
    }
    
    
    
    
    
    }
    
}
  1. Wie kann ich meine Eingabe(input) optimieren?
  2. Wieso bekomme ich bei 50/100 den Wert 0? Ich habe den Datentyp als Double deklariert um genau das nicht zu bekommen. Wo liegt mein Fehler?
  3. Wie würde das später mit einer Graphischen Oberfläsche aussehen?

PS.: Ich möchte nicht einfach irgend einen Code kopieren sondern auch verstehen was er macht also bitte mit erklärung. Das ganze Programm dient nur zur Übung um meine Java Kenntnisse zu erweitern.

Danke! :)

programmieren, Java
Kann ich gleichzeitig einen Wert ändern und auslesen (SQL)?

Ich möchte eine Tabelle erstellen in die verschiedene Werte eingetragen werden sollen. Darunter gibt es eine Spalte mit dem Namen "ID". Diese ID soll immer eins höher als die zuletzt hinzugefügte ID sein. Da IDs aber auch wieder gelöscht werden können, habe ich mir überlegt dass man ein Eintrag erstellt welcher die ID 0 besitzt

Die Tabelle besitzt noch eine zweite Zeile namens "Content". Wenn man jetzt einen neuen Eintrag macht, soll der Content des Eintrages mit der ID 0 um 1 erhöht werden, außerdem soll der neue Eintrag als ID den neuen wert des Contents bekommen:

Tabelle vorher

ID| Content

0 | 10


Tabelle nacher

ID| Content

0 | 11

11| "Ich mag Kekse"

Da dieser Code auch funktionieren soll, wenn viele Leute gleichzeitig neue Einträge erstellen, kommt das UPDATE von mySQL ganz gelegen:

UPDATE table_name SET content =content+1 WHERE ID=0

Hiermit wird schonmal verhindert, dass wenn zwei Leute gleichzeitig einen Eintrag erstellen, die ID nur um 1 erhöht wird.

Jetzt soll aber gleichzeitig der content bei ID=0 ausgelesen werden. Wenn man die anweisungen nacheinander ausliest kann es sein, dass benutzer 1 den wert bekommt der durch benutzer 2 entstanden ist (wenn sie gleichzeitig einen neuen Eintrag machen). (zumindest wenn man nach dem oben genannten code den Content mit SELECT ausließt.)

Wie kann man also mit MySQL in einer Zeile einen Wert ändern und gleichzeitig auslesen? in diesem Fall soll der Content bei ID=0 um eins erhöht werden und gleichzeitig soll der gleiche Content ausgelesen werden. (Dabei ist es egal ob man den Wert von vor der Addition oder den von danach bekommt, da man ja dann noch +1 rechnen kann :D )

SQL, programmieren, MySQL, PHP
Einzelne Zahlen aus txt-Dateien in Python einlesen?

Guten Tag.

Ich lerne zur Zeit Python an der Hochschule und arbeite mit Python 3.5. Bisher kam ich immer gut zurecht, doch nun haben wir eine Hausübung bekommen, die mir etwas Kopfzerbrechen bereitet.

Die Aufgabe ist folgende:

Lesen Sie aus der Datei unip-mini.dat.txt Zeile SQ die Länge aller Proteine in eine Liste. Plotten Sie die Liste als Histogramm mit 50 Balken.

Beispiel, wie so eine Zeile aussieht: SQ SEQUENCE 458 AA; 53921 MW; E46E5C85D7ACA139 CRC64;

Länge: 458

Wie man grundsätzlich Dateien in Python einliest, ist mir bekannt. Ich bin auch schon so weit, dass es nur diejenigen Zeilen einliest, die eben mit SQ beginnen. Allerdings möchte ich ja nur die Länge der Proteine in der Liste haben. Nun ist mein Problem, dass ich eben nicht weiß, wie ich es fertig stelle, dass lediglich die Länge in die Liste eingefügt wird.

Mein Code sieht bisher wie folgt aus:

    #!/usr/bin/python3

    import numpy as np
    import matplotlib.mlab as mlab
    import matplotlib.pyplot as plt

    def main():
        if os.path.isfile(sys.argv[1]) == False:
            print("Datei", sys.argv[1], "nicht gefunden")
            exit(0)
        with open(sys.argv[1]) as filetoread:
            lines = filetoread.readlines()
        seq = []

        for i in range(len(lines)):
            if(re.search('SQ   ', lines[i])):
                seq.append(lines[i])

        print(seq)


    if __name__ == "__main__":
        import sys
        import os
        import string
        main()

Könnte mir da vielleicht jemand helfen? Vielleicht gehe ich die Sache ja gerade auch einfach ganz falsch an und merke es nicht.

Mit freundlichen Grüßen

Programm, programmieren, Bioinformatik, Informatik, Python
c# bmi rechner mit absoluter zahl korrektes Ergebnis, mit Variable falsch warum?

Habe folgendes Problem, das hier ist der aus dem Code entscheidende Tei.. ich habe auch mal Schritt für Schritt alles durchlaufen lassen um alles nachzuvollziehen, komme aber immer noch nicht weiter.

Folgende Werte werden eingegeben, wie in dem Kommentar teil beschrieben:

Größe = 150cm

Gewicht = 45kg somit käme genau ein bmi von 20 raus da 1,5³ = 2,25 und 45 / 2,25 = 20

allerdings erscheint im textlabel 3 also der Ausgabezelle nach dem Klick auf den Button immer genau der Wert, den ich in das Gewichtsfeld eingetragen habe.

Wenn ich jedoch ((groesse / 100) * (groesse / 100)) durch 2.25 mal zu testzwecken manuell ersetze kommt das korrekte Ergebnis von 20 raus.

ich habe es auch schon mit zwischenschritten probiert. (groesse erst im meter umrechen, dann schon quadrieren und in der Ergebnisformal habe ich dann genauso wie bei dem Zahlenwert 2.25 nur eben als Variablenwert stehen, wie man es noch an den Variablen Deklarationen erkennen kann.

 private void button2_Click(object sender, EventArgs e)
    {
        int groesse;
        double groessem;
        double groessequadrat;

        double gewicht; 
        double bmi;
        
        groesse = int.Parse(textBox1.Text);
        gewicht = double.Parse(textBox2.Text);
        bmi = gewicht / ((groesse / 100) * (groesse / 100)); //20bmi = 45kg / ((150cm / 100) * (150cm / 100)) = [warum 45] 
        label3.Text = bmi.ToString(); 
    }

hat jemand eine Idee, war hier der Fehler sein könnte?

programmieren, absolut, C Sharp, Visual Studio, Variablen

Meistgelesene Beiträge zum Thema Programmieren