Den try-catch block hast du außerhalb einer Methode - und damit auch außerhalb von { und } - programmiert, das geht so nicht. Der Compiler denkt an der Stelle, dass "BufferedImage textvonkey" dein Methodenkopf werden und das try-catch in den methodenkörper sollte.

Pack das try-catch in den Konstruktor und es sollte diesen fehler nicht mehr geben.

das auf anhieb das erste was mir auffällt. weiter hab ich nicht geschaut

...zur Antwort

Deine erste Funktion ist injektiv.

Die Argumentation die du lieferst ist nicht korrekt. Du scheinst das x in der Abbildungsvorschrift mit dem x aus der Definition von Injektivität zu verwechseln.

Das x aus der Definition ist hier der gesamte Vektor, nicht nur das als Vektorkomponente, das hier auch x benannt ist.

(Deine Abbildung ist linear. Für lineare Abbildungen gilt, dass sie injektiv ist genau dann, wenn der Kern trivial ist (also nur aus dem Nullvektor besteht). Der einzige Vektor in deiner Abbildung, der auf den Nullvektor abgebildet wird, ist der Nullvektor. Also ist sie injektiv.) Da du aber nur Analysis als Tag gesetzt hast, weiß ich nicht, ob dir diese Argumentation aus der linearen Algebra bekannt ist.

Du schreibst aber auch, dass die Abbildung schon keine Abbildung sei. Das ist auch nicht richtig, weil du wieder das x als Einzelkomponente verwechselst mit dem x aus der Definition.

Schau dir nochmal die Definitionen an und versuche für dich auszumachen, was genau mit x jeweils gemeint ist.

Zu deiner zweiten Funktion:
Diese ist nicht injektiv.
Denn als Beispiel: sowohl (2, 1), als auch (0, 2) bilden auf 4 ab.
also es gilt f(2,1) = 2 + 2*1 = 4 = 0 + 2*2 = f(0,2), aber (2,1) != (0,2).

...zur Antwort

"sind die Menge der reellen Zahlen abgebildet auf die Menge der reellen Zahlen gleichmächtig?" Mir erschließt sich noch nicht genau, was du denkst, was diese Frage bedeuten soll.

Die reellen Zahlen sind natürlich gleichmächtig mit den reellen Zahlen.
"überabzählbar" ist ein Begriff der für die Mächtigkeit von mindestens den reellen Zahlen verwendet wird.

Zwei Mengen gleichmächtig, wenn eine bijektive Abbildung existiert.
Wenn du also eine bijektive Abbildung von R nach R angeben kannst, dann gilt |R|=|R|.


Wie @grtgrt schon angedeutet hat, kannst du sogar zeigen, dass z.B. das Intervall [0,1] oder andere Intervalle gleichmächtig wie R sind. etc.

...zur Antwort

Hi, die Ziel-Adresse im Ethernet-Frame wird auf ff:ff:ff:ff:ff:ff gesetzt, das ist die MAC-Broadcast Adresse.

Jedes Gerät im lokalen Netz nimmt den Frame an und schaut dann natürlich rein.
Wenn ein Gerät dann erkennt, dass die IP-Adresse, die im ARP-Request steht, die eigene ist, kann er eine Antwort zurückschicken. Die anderen Geräte verwerfen den Request entsprechend.

ARP ist Layer 2 uns auf Layer 2 wird eine Adressierung mittels MAC-Adressen gemacht, es ist also nicht irrelevant, denn "einfach so" wird das nicht erkannt. Frames werden nur weiter entpackt, wenn ja gerade die adresse für das gerät bestimmt ist. also ist eine passende ziel adresse obligatorisch, da aber eine konkrete mac adresse unbekannt wird an eine broadcast adresse gesendet, das ist bei mac-adressen die oben genannte.

...zur Antwort

Ich habe Angewandte Informatik studiert und in Regelstudienzeit (7 Sem) mit B.Sc. abgeschlossen. Ein Semester nachdem ich begonnen hatte wurde der Studiengang ein bisschen umstrukturiert, weshalb der folgende Plan nicht mehr ganz stimmt, aber das wichtigste bleibt ähnlich.

Die ersten 3-4 Semester sind eigentlich Grundlagen, die letzten dann mit ein paar wenigen Wahlfächern und Vertiefungsrichtung etwas freier. Als Vertiefung hab ich Spiele und digitale Medien belegt (Alternative wäre Robotik gewesen).
Im 5. Semester ist ein Praxissemester angesiedelt. Ich habe an einer HAW (FH) studiert, da ist das üblich, drum dauert es 7, statt 6, wie häufig an Unis.

------------------------------------------------------------------------------------------------------------------

Ich mach gerade ein Zweitstudium in angewandter Mathematik.

Das ist Diplom-uni-Abschluss und dauert deswegen von grund auf länger.
Die ersten paar Semester (Grundstudium) sind wieder Grundlagen in der mathematik. Im Hauptstudium sind es dann fast nur noch wahlfächer. Die Wahlfächer lassen sich einem der drei bereiche Modellierung, Operations reasearch und informatik zuordnen, sind aber auch mathematische fächer. (einer dieser drei bereiche wählt man zusätzlich als mathematische vertiefung, sodass in dem bereich mehr LP zu erbringen sind). Zusätzlich zur vertiefung gibt es ein "anwendungsfach". Das ist eine art nebenfach, wo auch nichtmathematische fächer vorhanden sind (bzw. sein können), wie physik, kommunikationstechnologien, energie, umwelt, geologie, wirtschaft und materialwissenschaft.

Ich bin noch Anfang-Mitte, aber vertiefe mich in informatik und als anwendungsfach kommunikationstechnologien (das geht so richtung technische informatik) [ich mein ich hab ja auch informatik studiert, also bleib ich in der richtung].
Das Praktikum was hier im plan auftaucht ist allerdings kein prakitkum als arbeiten, sondern wissenschaftliches rechnen (laut beschreibung geht es da auch um numerik nur dieses mal praktisch angewandt).
Mein Lieblingsthema in der mathematik ist Algebra und ich steh nicht so auf analysis und stochastik ... auch wenn es ein großer teil der heutigen mathe (und des studiums) ist :')

...zur Antwort

Hi, du bekommst ja einen beispielhaft so einen String: "14+55"

Du kannst jetzt jedes Zeichen einzeln durchgehen und dir extra irgendwie die Zeichen extrahieren. Ist aber etwas umständlich.

Stattdessen kannst du dir ja mal split() anschauen. Das wäre ein Ansatz, den du fürs erste verfolgen könntest. Schau dir aber genau an, wie das funktioniert und was u.U. schief gehen kann oder so. aber von da aus kannst du dich mal weiter vorhangeln.

einfach fragen, wenn was unklar ist.

...zur Antwort

Hi, ja, das liegt daran, dass du eben nicht 100-25 rechnest.

Wo liegt jetzt dein Problem?

Wenn du mit dem Zwei-Komplement rechnest, dann musst du auch vorher definieren, wie viele Stellen du verwendest und die Anzahl Stellen durch alle Operanden durchzuziehen.

Denn, die höchstwertige Stelle legt ja gerade das Vorzeichen fest.

100=1100100 hat 7 Stellen, für deine 25=011001 nutzt du nur 6. Du brauchst aber gerade bei dieser Zahl das höchswertige Bit, um es negativ interpretieren zu können im Zusammenspiel mit der 100.

Statt also 011001 ins Zwei-komplement zu bringen musst du 00011001 konvertieren, außerdem musst du bei der 100 noch eine zusätzliche 0 anfügen (insgesamt 8 bit), sonst musst du wegen der führenden 1 das auch negativ interpretieren.

Verstehst du warum?

...zur Antwort

1) es wird wahrscheinlich openjdk-8-jre heißen, bei dir fehlt das e

2) wenn du tab drückst, dann wird die angezeigt, welche Pakete es gibt mit ähnlichen namen - so solltest du auch sehen, dass es *-jre am ende heißt

...zur Antwort

Klar wird sie erkannt. Der Compiler sagt dir, dass man von einer statischen Klasse keine Instanz anlegen kann.

Die Klasse Random ist statisch. Statische Klassen werden automatisch in Speicher geladen, wenn sie verwendet werden und existieren auch nur ein mal global und geteilt für alle.

Du brauchst also gar nicht "new Random()" machen. Du kannst direkt auf die Methoden zugreifen, die in Random definiert sind:

Random.Range(2, 5); // zufälliges float zwischen 2 und 5 

Hier mehr: https://docs.unity3d.com/ScriptReference/Random.html

Die C#-Standardbibliotheks-Klasse Random funktioniert anders als die von Unity. Vielleicht meinst du die und willst diese nutzen?

...zur Antwort

Hi, in Java spricht man dabei von sogenannten packages. Ein package organisiert zusammengehörigen Code in einem gleichen Namespace und muss dabei der Ordnerstruktur entsprechen.

In deinem Beispiel haben wir folgende Ordnerstruktur:

src/
├── app/
│   └── App.java
├── calc/
│   └── Calculator.java
└── test/
    └── CalculatorTest.java

Für Java heißt das, dass du die drei packages app, calc und test hast.

In den java Dateien muss dann jeweils das zugehörige package angegeben werden, sonst gibt es Fehler:

package app;

public class App { }

Du siehst die erste Zeile? Damit zeigen wir, dass diese Klasse zum package app gehört.

Wenn wir jetzt das woanders nutzen möchten, dann müssen wir das importieren. Dabei geben wir an, welche Klasse wir importieren möchten und in welchem package diese zu finden ist:

package calc;

import app.App; // importiere Klasse App aus package app

public class Calculator { 
   public void method() {
      App a = new App();
   }
}

Und schon kannst du drauf zugreifen :)

...zur Antwort

In deiner append Funktion liegt das Verhalten:

Du hängst immer an das letzte Element was an. Also völlig egal, welchen Knoten du aus deiner Liste der append Funktion gibst: in der while, wird immer bis zum Ende durchgehangelt und dort der neue Knoten angehangen.

Wenn du zwischen drin was einfügen möchtest, dann darfst du dich nicht immer bis ans Ende durchhangeln, sondern musst von dem Knoten, den du rein bekommst das next direkt auf den neuen Knoten stellen (und wenn du nichts verloren haben möchtest, den alten Knoten ins next vom neuen einfügen)

Kannst du mir folgen?

...zur Antwort

Dazu musst du ja die Eingabe irgendwie entgegen nehmen.

In Java geht das am Anfang am einfachsten mit einem Scanner, der die Standardeingabe "scannt":

Scanner scan = new Scanner(System.in);
String name = scan.next(); // mit der next() Methode wird auf eine Eingabe gewartet und das Ergebnis bis zum nächsten Leerzeichen in der Variable 'name' abgespeichert
// Wenn du nicht nur bis zum nächsten Leerzeichen, sondern wirklich alles bis zum nächsten Enter haben möchtest, dann verwende stattdessen nextLine()
...zur Antwort

Wie genau verwendest du denn den Compiler?

Denn es klingt fast so, als scheitert es schon da. Machst du es auch so wie folgt?

"Du musst dem compiler jede Datei angeben, die du kompiliert haben möchtest, immer nur die main neu zu kompilieren reicht nicht. Auch deine Datei Huhu.java musst du angeben.

Du kannst aber wenigstens wildcards nutzen:

javac *.java dir1/*.java dir2/*.java dir1/dir3/*.java etc

So musst du nicht die Dateinamen selbst angeben, aber immernoch die Struktur der Ordner.

Das ist mühselig bei größeren Projekten. Aber einmal eingetippt, kannst du ja mit Pfeiltasten den Befehl wieder schnell aufrufen oder du nutzt deine IDE auch fürs compilen."

Wenn nicht, dann ist es ein anderes Problem.

...zur Antwort

Das ist im Allgemeinen nicht definiert. Die Unendlichkeit ein Konzept, wie LoverOfPi bereits beschrieben hat, weshalb man nicht einfach damit rechnen kann.

Aber: Die erweiterten reellen Zahlen, wie man sie in der Maßtheorie verwendet, definieren Rechenoperationen für das Symbol unendlich, das dort als Element hinzugefügt wird. Operationen mit den Symbolen wären dort definiert:



Aber dies ist ein Spezialfall für die erweiterten reellen Zahlen, wo die Unendlichkeitszeichen als Symbole hinzugenommen werden.
Allerdings ist auch dort der Fall

undefiniert. Also selbst dort, wo man mit dem Unendlichkeitssymbol rechnen kann, ist gerade dein Fall nicht dabei, was auch irgendwie Sinn ergibt, wenn man wieder mit dem Konzept argumentiert.

Edit: Dein Fall wäre in den erweiterten reellen Zahlen definiert als

aber eben nur dort und nicht allgemein. Und im Zusammenhang mit Grenzwerten ist das auch noch ne andere Geschichte

...zur Antwort

Schau dich doch nach einem Berufskolleg für Informationstechnik um. Ich habe in BW z.B. ein Berufskolleg für Informations- und Kommunikationstechnik besucht. Es gibt auch Berufskolleg für Informatik oder für Elektrotechnik. Je nach Ort und Bundesland gibt es Unterschiede.

Schau am Besten mal bei den gewerblichen Schulen bei dir vor Ort um, was die da so an Schulausbildungen anbieten und wähl das, was dich am meisten davon interessiert :)

...zur Antwort

Dieser Satz ist keine Aussage.

Dass der Inhalt nicht entscheidend ist, stimmt so auch nicht. Einer Aussage in der Aussagenlogik lässt sich exakt entweder wahr oder falsch zuordnen. Um entscheiden zu können, ob eine Aussage wahr xoder falsch ist, ist der Inhalt sehr wohl relevant (wobei bei manchen Aussagen dann erst der Kontext relevant ist, bevor man es bestimmen kann, aber dann geht's auch schon Richtung Prädikatenlogik erster Stufe)

3=4

ist eine Aussage, denn wir können entweder wahr oder falsch zuordnen. In dem Fall ist es eine falsche Aussage.

Wie sieht es jetzt bei "Diese Aussage ist falsch" aus?

Angenommen es wäre eine Aussage, dann können wir exakt bestimmen, ob sie wahr oder falsch ist. Also nehmen wir an sie sei wahr. Wenn sie wahr ist, dann ist die Aussage aber falsch -> Widerspruch. Wenn wir andersherum annehmen, sie ist falsch, dann ist die Aussage, basierend auf den Inhalt, aber wieder wahr -> Widerspruch.

Wir können also dem Satz keinen exakten Wahrheitswert zuordnen, da dies in beiden Fällen zu einem Widerspruch zur angenommenen Aussage führt. Somit ist es keine Aussage.

(hat was mit dem Lügner-Paradoxon zu tun. Aber in der Form wie es da steht ist es erstmal keine Aussage im Sinne der Aussagenlogik)

...zur Antwort