Garnicht, ich denke das steht für Carriage Return, also einfach Enter-Taste drücken.
Ja, das ist möglich, habe ich auch.
Außer DDR gibt's da nichts zu beachten.
Die Timings müssen nicht übereinstimmen, falls sie sich unterschieden nimmt der PC einfach das niedrigere.
Ich habe beispielsweise
- 2x 8 GB 3200 Mhz CL16
- 2x 16 GB 3600 Mhz CL18
und es klappt problemlos.
Du solltest aber beachten, welchen RAM-Riegel du in welchen Slot steckst. Um Dual Channel zu aktivieren, sollten die Module desselben Kits im gleichen Channel stecken:
- 8 GB-Module in Slot 1 und Slot 3
- 16 GB-Module in Slot 2 und Slot 4
Gib nach jeder zweiten Zahl eine Newline aus:
for (int i = 1; i < 11; ++i) {
printf("%d", i);
if (i % 2 == 0) {
printf("\n");
} else {
printf(", ");
}
}
Mach die j = i + 1 Optimierung raus und lass die Schleife auch bei 0 starten, dann klappt's wie gewünscht.
Die sorgt nämlich - was falsch ist - dafür, dass bei späteren Zahlen die vorherigen nicht mehr geprüft werden.
(Natürlich muss im if dann auch noch eine i != j Bedingung stehen, damit die Zahl sich nicht selbst als Duplikat findet)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
size_t copy_duplicates(int dst[], const int src[], size_t len) {
size_t n = 0;
for(size_t i = 0; i < len; i++) {
int is_duplicate = 0;
for (size_t j = 0; j < len; j++) {
if(src[i] == src[j] && i != j) {
is_duplicate = 1;
break;
}
}
if (is_duplicate) {
dst[n] = src[i];
n++;
}
}
return n;
}
int main (void) {
int src[] = {5, 3, 5, 4, 4, 5};
int len = 6;
int dst[6];
size_t num_duplicates = copy_duplicates(dst, src, len);
printf("%zu\n", num_duplicates);
for (size_t i = 0; i < num_duplicates; i++) {
printf("%d ", dst[i]);
}
return EXIT_SUCCESS;
}
Jedes Lebensmittel hat eine eigene Maßeinheit.
Eine Maßeinheit kann bei mehreren Lebensmitteln vorkommen.
Also muss eine n-1 Verbindung von Lebensmittel zu Maßeinheit.
Ansonsten sollte die Maßeinheit mit nichts verbunden sein.
Einfaches Beispiel, damit du's verstehst:
Das Lebensmittel "Ei" hat die Maßeinheit "Stück", das Lebensmittel "Milch" hat die Maßeinheit "ml".
In der Lebensmittelliste brauchst du dann Einträge die eine Kombination aus Lebensmittel und Quantity darstellen. Quantity muss keine extra Tabelle sein, dafür reicht eine Spalte.
500 Milch (-> ml)
3 Ei
...
Ich würde dafür eine Tabelle Listeninhalt machen (wobei ich die Sachen persönlich eher auf englisch benennen würde, aber das ist egal):
ListenID | LebensmittelID | Quantity
ABCD-1234 | Egg | 5
ABCD-1234 | Milk | 500
ASDF-3214 | Bread | 1
ASDF-3213 | Egg | 6
In dieser Tabelle steht dann also, in welcher Liste welche Lebensmittel in welcher Menge vorhanden sind. PK ist logischerweise die Kombination aus (ListenID, LebensmittelID), weil es pro Liste pro Lebensmittel einen Eintrag geben kann.
Jedem Lebensmittel würde ich wie du siehst eine ID geben, um es eindeutig zu identifizieren. Sowas anhand der Bezeichnung zu machen ist keine gute Idee, weil was ist, wenn du die App mal Mehrsprachig machen möchtest. Als ID verwendet man normalerweise eine automatisch generierte 128-bit UUID (lässt sich in VARCHAR(36) speichern), in dem Beispiel hier habe ich aber einfach selbst-vergebene IDs wie "Egg" oder "Milk" genommen, kann man natürlich auch machen wenn man nicht viele Daten hat.
Im Klassendiagram musst du die ListenID beim Inhalt natürlich nicht darstellen. Da gibst du der LebensmittelListe einfach eine List<Listeninhalt>, das hast du eh schon richtig.
Klick rechts unten auf das Wetter, dann siehst du alle aktuellen News. (Vorausgesetzt du hast Windows).
Vorlesen tut es dir die natürlich nicht, wüsste auch kein Programm das das macht, wär aber eine witzige Idee :D
Aber ich versuche momentan auf das 10-Finger-System umzusteigen, da es denke ich deutlich schneller ist.
Mit rechts-lastigen Wörtern wie "know" oder "pull" habe ich aber noch große Probleme, da meine rechte Hand eine sehr schlechte Feinmotorik hat, da ich sie in der "Freestyle"-Methode ziemlich vernachlässigt hatte.
Bei 2 Villagern müssen mindestens 3 Betten direkt von diesen erreichbar sein, sonst paaren sie sich nicht.
Vielleicht war das Tutorial das du gesehen hast nicht für die Java Edition? Kannst du es mal verlinken?
Um die Laufzeiteffizienz eines Algorithmus zu bestimmten berechnet man in der Regel dessen Big-O.
Heißt man stellt eine Formel auf, um die Anzahl der benötigten Schritte in Abhängigkeit von der Anzahl der gegebenen Elemente n zu bestimmen.
Siehe:
https://de.m.wikipedia.org/wiki/Landau-Symbole
https://en.m.wikipedia.org/wiki/Big_O_notation
Um Java-Anwendungen auszuführen.
Ich würd's installiert lassen, spricht nichts dagegen, läuft ja nicht im Hintergrund oder so, und Speicher braucht es auch nicht allzu viel.
2012 - 2015
GommeHD hatte 2015 die höchsten Spielerzahlen jemals, also dass es im deutschen Raum schon 2014 zuende gewesen wäre würde ich definitiv nicht sagen.
Mit dem PvP Update in der 1.9 (Februar 2016) ging die Ära meiner Meinung nach zuende.
Da teilte sich die Community auf in PvP Spieler, die in der 1.8 blieben, und Nicht-PvP-Spieler, welche die neuen Versionen spielten.
Ich denke das hat das Spiel viele Spieler gekostet, einerseits die PvP Spieler, die nun viel weniger Gegner hatten, länger auf eine neue Runde warten mussten, und keine neuen Updates mehr bekamen. Andererseits die Nicht-PvP-Spieler, weil ihre PvP-spielenden Freunde kein Survival mehr mit ihnen spielen wollten.
Zum rumprobieren empfehle ich JSFiddle: https://jsfiddle.net/
Das ist eine Website auf der du direkt mit HTML, CSS & JavaScript programmieren kannst, dafür musst du nichts installieren, einfach nur die Seite öffnen.
- Wenn du links oben auf "Run" drückst wird dein Code ausgeführt und die Website angezeigt bzw. aktualisiert.
- Mit Strg + S kannst du dein Projekt speichern und den dabei erzeugten Link später erneut aufrufen oder an Freunde schicken.
- Wenn du ein "/show" hinter den Link schreibst kannst du die Website im Vollbild-Modus betrachten.
- Am Ende des erzeugten Links steht außerdem eine Versionsnummer, dadurch kannst du auch ältere Speicherstände deines Projekts wieder öffnen.
- Außerdem kannst du beliebige JavaScript-Bibliotheken wie JQuery oder ThreeJS verwenden.
Wenn's dann mal etwas professioneller werden soll empfehle ich Visual Studio Code aka. VSCode: https://code.visualstudio.com/
Wenn du deine Website später mal irgendwo hochladen möchtest brauchst du sie in Datei-Form, also als .html-Datei, und zusätzlich dazu vlt. noch .css- und .js-Dateien die du im HTML einbindest.
Größere Webseiten haben außerdem mehrere Unter-Seiten und ein Backend das sich um Login, Routing, Daten-Speicherung usw. kümmert.
VSCode ist ein Programm, mit dem du solche (HTML, CSS, JS, ...) Dateien bearbeiten kannst, einfach gesagt ein Texteditor / Code-Editor. Lässt sich aber mit üblichen Texteditoren wie Nodepad++ nicht vergleichen, ist schon vielmehr eine Lightweight-IDE.
- Beispielsweise kann man mehrere Dateien auf einmal bearbeiten und hat links eine Übersicht des Projekts, wo man natürlich auch direkt neue Dateien und Ordner erstellen kann.
- Du kannst eine Unmenge an 3rd-Party-Erweiterungen installieren, um VSCode um neue Funktionalitäten zu erweitern, beispielsweise Support für andere Programmiersprachen (was du beim Backend brauchen wirst).
- VSCode hat automatische Code-Vervollständigung bzw. Code-Vorschläge, finde ich auch verdammt nützlich und zeitersparend.
- Außerdem hat VSCode nützliche Boilerplate-Codes. Wenn du beispielsweise "html:5" in eine .html-Datei schreibst und Tab drückst generiert dir VSCode den kompletten Grundriss einer HTML-Seite mit Head und Body. Das spart eine Menge Zeit.
Sieht vermutlich nicht gut aus wenn du das Bild streckst, ich würde da lieber ein neues Bild machen das perfekt passt, oder mich mit dem jetzigen Aspect-Ratio zufriedengeben.
Aber da du gefragt hast, so sollte es gehen:
background-size: 100% 100%;
Bei MediaMarkt 65€.
Haben sie wohl wieder teurer gemacht und Google zeigt noch den alten Preis an.
(Tipp: Auf Amazon bekommst du es noch für 45€.)
Schonmal ein guter Ansatz!
Deine Abfrage, ob die beiden Arrays unterschiedlich lang sind, kann vor die Schleife. Das mehrmals zu überprüfen ist sinnlos, die Anzahl der enthaltenen Elemente ändert sich ja nicht.
Und du hast noch ein paar Syntaxfehler im Code:
- Der Strichpunkt nach dem if muss weg
- Es heißt array.length, nicht array.length[i]. length liefert eine Zahl zurück, da macht das [i] dahinter keinen Sinn.
Dann funktioniert der Code auch:
public static boolean compareArrays(int [] a, int [] b) {
if (a.length != b.length) { // Unterschiedlich viele Elemente enthalten
return false;
}
for (int i=0; i < a.length; i++) { // Beiden Arrays haben hier garantiert die selbe Länge, also reicht hier die eine Beschränkung
if (a[i] != b[i]) {
return false;
}
}
return true;
}
Verwende zum Screenshotten eine andere Library, z.B. diese hier:
https://pypi.org/project/mss/
Das sollte um einiges schneller sein als die Screenshot-Funktion von PyAutoGUI.
Scheint ein Bug der Bedrock Edition zu sein.
Versuch mal, den Bedrock darunter mit einem anderen Block zu ersetzen, vlt. hilft das.
Oder den Repeater in einen Block zeigen lassen und auf diesem Block das Redstone platzieren.
Für den Preis finde ich das Angebot echt nicht schlecht, ja.
Für Studium und Zocken reicht der sicher. Nur für High-End Games nicht, da er keine Grafikkarte hat.
Als Web-Entwickler ist ein UNIX-System empfehlenswert, damit die Software auf meinem Computer genau so läuft, wie sie dann später auch in der Cloud (Linux Server) laufen wird.
Außerdem war uns ein sehr guter und leichter Laptop mit gutem Akku wichtig.
Da ist ein MacBook natürlich das beste was man haben kann. Daher setzen als Betriebssystem auf MacOS.
Wäre ich in einem anderen Bürojob-Bereich tätig, so würde ich zu 100% Windows nehmen. Microsoft Office ist unschlagbar, Libre Office hält da nicht mit. Und Windows ist für einen normalen Bürger mit Abstand am einfachsten zu bedienen und hat die meisten nützlichen Features.
Du kannst um das .nextDouble einfach ein try-catch bauen, das den Fehler abfängt, der bei falscher Eingabe geworfen wird. Und dann im Fehlerfall, also innerhalb des catch-Blocks, deinen gewünschten Text ausgeben.
try {
zahl1 = benutzereingabe.nextDouble();
} catch(InputMismatchException e) {
System.out.println("Bitte geben sie nur Zahlen ein!");
}