Glückliche oder Traurige Zahl?

Aufgabenstellung:

Die Dezimalziffern einer natürlichen Zahl n, n ≥ 1, werden einzeln quadriert und addiert. Anschließend wird mit der entstandenen Summe genauso verfahren. Die Ausgangszahl n ist fröhlich, wenn man bei diesem Vorgehen schließlich auf die Zahl 1 stößt, ansonsten ist sie traurig. Beispielsweise ist 7 eine fröhliche Zahl

Schreiben Sie ein Java-Programm, das alle fröhlichen Zahlen zwischen einer Unter- und einer Obergrenze berechnet und die zugehörigen Folgen ausgibt.

Der Dialog soll folgendermaßen ablaufen:

untere Grenze ein: 5

obere Grenze ein: 30

7 -> 49 -> 97 -> 130 -> 10 -> 1

10 -> 1

13 -> 10 -> 1

19 -> 82 -> 68 -> 100 -> 1

23 -> 13 -> 10 -> 1

28 -> 68 -> 100 -> 1

import java.util.Scanner;

public class GlücklicheZahl2 {
    private int counter = 0;
    private int[] summenSpeicher = new int[1];
    private int zahl;
    int summenCounter = 0;
    Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        GlücklicheZahl2 zahl = new GlücklicheZahl2();
    }

    public GlücklicheZahl2() {
        /*System.out.print("Zahl? ");
        int zahl = scanner.nextInt();*/
        System.out.print("untere Grenze? ");
        int untereGrenze = scanner.nextInt();
        System.out.print("obere Grenze? ");
        int obereGrenze = scanner.nextInt();
        for (int i = untereGrenze; i <= obereGrenze + 1; i++) {
            this.zahl = i;
            this.summenSpeicher = new int[1];
            createIntArray(i);
        }
    }
    public void rechnung(int[] intArray) {
        boolean glücklich = false;
        int summe = 0;
            for (int i = 0; i < intArray.length; i++) {
                summe += intArray[i] * intArray[i];
            }
            if (summe == 1) {
                glücklich = true;
            }
            if (summenCounter >= summenSpeicher.length) {
                int[] tmpArray = new int[summenSpeicher.length + 1];
                for (int i = 0; i < summenSpeicher.length; i++) {
                    tmpArray[i] = summenSpeicher[i];
                }
                summenSpeicher = tmpArray;
            }
            summenSpeicher[summenSpeicher.length - 1] = summe;
            summenCounter++;
            if (glücklich) {
                System.out.print(zahl);
                for (int i = 0; i < summenSpeicher.length; i++) {
                    System.out.print(" -> " + summenSpeicher[i]);
                }
                System.out.println("");
            }   else {
                if (counter < 50) {
                    counter++;
                    createIntArray(summe);
                }
            }
    }

    public void createIntArray(int x) {
        String wert = Integer.toString(x);
        char[] wertarray = wert.toCharArray();
        int[] intArray = new int[wertarray.length];
        for (int i = 0; i < wertarray.length; i++) {
            intArray[i] = Character.getNumericValue(wertarray[i]);
        }
        rechnung(intArray);
    }
}
programmieren, Java, Informatik
Programmieren lernen, Tipps:)?

Hey, ich wollte schon immer gerne mal programmieren lernen.
In meinem Umfeld habe ich mehrere Leute, die beruflich programmieren, aber ich habe auch Freunde, die sich hobbymäßig für Spiele usw. Programmieren selbst beigebracht haben und ich würde es gerne auch können.

Ich habe schon mal einen vierstündigen Kurs für Python gemacht, habe aber alles wieder verlernt.

Ich habe schon die Leute in meinem Umfeld gefragt, aber es wird immer so kompliziert erklärt und alle sagen einfach nur, ich soll mal googlen und einfach selbst reinkommen.

Ich werde da aber gar nicht schlau draus, habe mir auch schon Youtubevideos angesehen.

Ich weiß noch nicht mal, wie genau ich mir das vorstellen muss und wie genau Programmieren überhaupt funktioniert.

Ich weiß, dass es verschiedene Programmiersprachen gibt und viele mit Java oder Python starten.

Ich würde gerne wissen, ob man einen guten Pc dafür braucht?
Mit welchem Programm programmiert man überhaupt?
Kostet es Geld?
Wie füge ich das programmierte dann ein?

Ich würde gerne z.B für Sketchful.io (eine Internetseite/ein Onlinezeichenspiel) einen Pinsel programmieren, welcher Regenbogenfarben zeichnet.
Ein Freund von mir hatte sich dieses Script selbst programmiert, aber leider habe ich keinen Kontakt mehr zu ihm und kann ihn nicht fragen.

Außerdem würde ich mir gerne eine neue Farbe für meinen Skin programmieren und vielleicht eine Kopfbedeckung.

Da frage ich mich, wie das genau gehen soll, woher weiß er welche Farbe ich will, wenn ich nur einen Code einfüge? Und muss ich dann ein Foto irgendwie irgendwo in einen Code umwandeln und als Script z.B in Tampermonkey einfügen? :D Ich bin völlig verwirrt.

Danke schon mal

Computer, programmieren, Informatik
Bei WhatsApp für Windows werden keine Profilbilder mehr angezeigt?

Bei WhatsApp für Windows, also am Computer, werden bei mir seit einiger Zeit keine Profilbilder und auch keine Gruppenbilder mehr angezeigt. Auf dem Handy (Android) klappt alles und auch über WhatsApp-Web. Über das Programm für Windows leider nicht. Selbst mein eigenes Profilbild wird nicht angezeigt. Ich habe bereits die .exe-Version, sowie die aus dem Windows-Store ausprobiert, wobei bei beiden der Fehler auftritt. Auch habe ich schon probiert den Computer neu zu starten, mich mit dem Handy neu zu verbinden, das Programm neu zu installieren, sowie den Ordner unter %appdata% zu entfernen. An der Windows-Firewall habe ich auch nichts umgestellt, habe sicherheitshalber trotzdem nachgeschaut, ob sich dort kürzlich etwas geändert hat → ist nicht der Fall.
Einen Unterschied könnte es eventuell geben, da ich nicht die Originale WhatsApp Version habe, sondern GBWhatsApp (http://alexmods.com/down/gbwhatsapp-pro), also eine modifizierte Version. An dieser hat sich jedoch seit dem Fehlen der Profilbilder nichts geändert. Außerdem sehe ich die Profilbilder ja auf dem Handy und auch über WhatsApp-Web noch.

So sieht es bei mir zurzeit aus....

Wenn ich auf mein eigenes Profil klicke, oder auf das einer anderen Person oder Gruppe, bekomme ich das Lade-Symbol angezeigt, allerdings wird das Bild nicht geladen.

Diverse Internetseiten-Tipps habe ich auch schon durch:

  • https://www.wintotal.de/tipp/whatsapp-profilbild-wird-nicht-angezeigt/
  • https://www.heise.de/tipps-tricks/WhatsApp-Profilbild-wird-nicht-angezeigt-was-tun-6071355.html
  • https://praxistipps.chip.de/whatsapp-update-profilbilder-von-kontakten-weg-was-tun_27652
  • https://www.giga.de/downloads/whatsapp-fuer-iphone/tipps/whatsapp-profilbild-weg-gruende/
  • https://www.helpster.de/wieso-sehe-ich-bei-whatsapp-keine-profilbilder-hilfestellung_218285

Weshalb Google mir da auch bisher nicht weitergeholfen hat. Da ich vom Programmieren einer WhatsApp-API das Prinzip, zumindest von WhatsApp-Web kenne, wie die Profilbilder vom Server geholt werden, würde ich sagen, dass ein Problem mit der Session des Windows-Programms vorliegt.
Normalerweise werden die Profilbilder über einen GET (oder POST) in Verbindung mit einem Authcode, welcher sich aus der Session ergibt abgefragt. Leider ist es mir bisher nicht möglich gewesen einen Weg zu finden für das WhatsApp Programm eine Netzwerk-Analyse zu machen.

Ich freue mich, wenn mir jemand weiter helfen kann.

Bild zum Beitrag
Computer, Handy, Internet, Software, IT, programmieren, Error, Profilbild, WhatsApp
kann man in C# eine Konsolenanwendung für den OSX mahen?

Hallo zusammen

Ich bin in C# VS relativ neu. Habe ein ca. 3500 Zeilen-Programm mit vielen Klassen etc. gemacht. Funktioniert alles super und ist getestet.

Ca. 80% der Consolen-App habe ich auf dem Mac programmiert, 20% auf meinem Windowsrechner. Ich bin also heterogen unterwegs. Soweit so gut.

Eine .exe kann ich problemlos erstellen. Auf Windows auch entsprechend problemlos auszuführen. Wenn ich das auf dem Mac laufen lassen möchte, mache ich:

  • a) die Konsole auf
  • b) navigiere zur ProgrammXY.dll
  • c) gebe dotnet ProgrammXY.dll ein

und das Ding läuft. Nur!!!!!!!!!!!!..... Das möchte ich so nicht!

Ich habe aktuell den Fall, dass meine Schwester (auch Mac-Anwenderin) genau jetzt die App benötigt. Die Löst ein Problem welche sie (und das ist Zufall des Jahrhunderts) hat.

Ich möchte ihr die Consolen-App analog zu Windows auf einem USB-Stick o.ä. übergeben können, sodass sie mit einem einfachen DOPPELKLICK das Ding starten und verwenden kann. Ich möchte keine UI darum herum bauen und ich möchte nicht ins Web damit. Auch soll sie ihren Rechner nicht fit für dotnet machen müssen. Ich will die App auf der Konsole haben. Sowohl auf Mac als auch auf Windows. Genau gleich einfach.

Nun die Frage:
Kann man das überhaupt? ich finde keinerlei sinnvolle Anleitungen oder Antworten. Bei Stackoverflow werde ich angepöbelt und bei MS selber kann ich im DEV-Forum keine Fragen stellen.

Ich möchte nur wissen ob das überhaupt geht damit ich mit der Fragerei und Suche aufhören kann oder andere Wege / Technologien angehen kann.

Grüsse euch und danke schonmal.

Computer, Technik, programmieren, C Sharp, dotNet, Informatik, Softwareentwicklung, Technologie, konsolenanwendung, Visual Studio 2019
Wie stelle ich mithilfe compareTo() die natürliche Objektreihenfolge her (Java)?

Ich habe heute über die compareTo()-Methode des Comparable-Interfaces gelesen, man würde sie wie folgt verwenden:

"If your class objects have a natural order, implement the 

Comparable<T>

 interface and define this method."

Aber wie kann ich compareTo() implementieren, um die natürliche Reihenfolge der Objekte herzustellen?

Beispiel: Ich sollte Studenten nach ihrer Punktzahl sortieren, habe dann compareTo() wie folgt überschrieben:

@Override
public int compareTo(Student student) {
    if(this.points > student.points)
        return 1; //current student is better
    return 0;
}

Allerdings returnt das ja jetzt nur einen bestimmten Wert, mit dem man dann arbeiten könnte, wenn man anschließend die Studenten z.B. in eine Liste packen will, aber es stellt ja nicht bereits in der Methode selbst die Objektreihenfolge her. Ich verstehe auch gar nicht, wie das gehen soll, wenn ich z.B. will, dass die Klasse Student das Interface Comparable implementiert. Ich meine, wenn ich dann ein Objekt erzeuge, dann kann ich auf dieses und ein anderes diese Methode anwenden, aber ich bräuchte ein weiteres Hilfsmittel, um die Studenten zu ordnen, wie eben z.B. besagte Liste.

Ist es also irgendwie möglich, compareTo() so zu überschreiben, dass es automatisch Studenten oder allgemein Objekte in ihre natürliche Reihenfolge bringt oder brauche ich dafür immer noch weitere Hilfsmittel?

Oder habe ich compareTo() auf richtige Weise überschrieben?

LG Kath

PS:
In der Doku steht ebenfalls Folgendes über Comparable():

This interface imposes a total ordering on the objects of each class that implements it. This ordering is referred to as the class's natural ordering, and the class's compareTo method is referred to as its natural comparison method.

programmieren, Java, Informatik, Interface, Objektorientierte Programmierung

Meistgelesene Beiträge zum Thema Programmieren