Ich habe Fehlermeldung im Compiler trotz richtiger Lösung und das schon zum dritten Mal.
package de.codegym.task.task01.task0128;
/*
So einfach wie 2+2
*/
public class Solution {
public static void main(String[] args) {
sum(a , b);
}
public static void sum(int a, int b) {
int a = 2;
int b = 2;
int sum = a + b;
System.out.print(sum);
}
}
Anonymous #11014930
Level 3
Fehlermeldung trotz richtiger Lösung
Gelöst
Kommentare (5)
- Beliebt
- Neu
- Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Anonymous #11014930
14 Juni 2022, 22:18
Hi, danke für die Tipps, leider benutze ich dazu ein Tablett und da kann ich nichts anhängen (nein das geht nicht und schon gar nicht einen Codeblock) alles andere wird immer automatisch angehängt . Zu mindest bekommne ich Infomeldung das es Automatisch angehängt würde. Über Pc geht das auch ist nur leider sehr umständlich und sehr Zeitraubend alles irgendwie auf den Pc vom Tablett zu kopieren.
Danke für deine Mühe aber leider werde ich hier nicht mit CodeGym und den Erklärungen warm.
Ich verstehe leider auch von deiner erklärung nicht sehr viel mit Mühe max. 30% .
Es macht seid Tagen überhaput keinen spass mehr hier bei den Tollen erklärungen von Codegym.
Sorry ! Nichts gegen dich.
0
Lisa L
15 Juni 2022, 05:16
Der Ansatz mit der Mühe ist schon OK, ohne wird es nicht gehen. Wenn dir die Erklärungen von Codegym nicht ausreichen (das haben sie auch für mich nicht, bzw. war ich nicht immer mit ihnen glücklich), hast du natürlich auch die Möglichkeit noch Sekundärliteratur zu Rate zu ziehen. Codegym empfiehlt das auch an vielerlei Stellen.
Wenn du es etwas technischer liebst... Java Insel, so ne Art Standardwerk (zumindest hier in D).
Leichter von der Sprache ist wohl Java von Kopf bis Fuß
Ein Tablet ist nicht die erste Wahl wenn es ums Programmieren geht. Da machst du dir nur das Leben schwer. Spätestens wenn CG empfiehlt, eine IDE zu verwenden, solltest du das tun.
Das Anhängen Deiner Aufgabe an Deine Frage ist (am PC - wird am Tablet auch nicht anders sein - hat ja auch einen Internetbrowser) mit dem Anklicken eines (virtuellen) Schalters erledigt. Einmal hast du es ja schon geschafft.
Jetzt auch nichts gegen Dich, aber die Energie, die du aufwendest, dich zu beschweren, könntest du besser kanalisieren. Programmieren lernen hat sehr viel mit im Internet suchen zu tun. Bücher lesen, Artikel lesen und üben. Oft versteht man etwas nur indem man zwei, drei Quellen liest und dazu noch einige Beispiele programmiert. Ein riesiger Teil ist in Englisch geschrieben. Ignorierst du das, schneidest du viel Information und Wissen ab. Programmieren ist einfach Englisch. Wenn dir dann jemand ausführlich versucht (auf Englisch) zu helfen, dann ist es schon irgendwie unhöflich zu schreiben, dass man nichts verstehe und die deutschen Erklärungen von Codegym auch nur Müll sind. Der Mann hat also gerade 20 Minuten Lebenszeit an dich verschwendet. Finde ich jetzt nicht so nett. Stattdessen könntest du das übersetzen lassen und verbalisieren wo genau du ein Problem hast, dann könnte man evtl. helfen.
+2
Lisa L
15 Juni 2022, 05:28
Wenn der eben verprellte dann noch Lust dazu hat...
+2
Lisa L
14 Juni 2022, 12:57
Manchmal ist eine Aufgabe missverständlich geschrieben, manchmal auch irgendwie buggy. Meist missversteht man aber die Angaben oder hat einen Fehler gemacht (selbst wenn man sich 100% sicher ist).
Wenn es eine Fehlermeldung gibt, dann solltest du die auch mitteilen. 'Da gibt es einen Fehler' ist in etwa so hilfreich wie 'das geht irgendwie nicht'. Was geht nicht? Wie ist die Fehlermeldung. Wer meckert? Der Compiler oder der Validierungsprozess? Welche Aufgabenstellung? Ich müßte jetzt erstmal auf der Seite herumsuchen um zum entsprechenden Task zu kommen, die Aufgabenstellung lesen, etwas die Glaskugel befragen, was du wohl für eine Fehlermeldung bekommst und dann orakeln. Hänge doch deinen Code direkt an deine Frage an, dann wird die Taskbeschreibung ebenfalls hinzugefügt und wo die Validierung Probleme sieht.
So, zum Glück ist diese Aufgabe recht übersichtlich und ich kann dir sagen, du hast sie falsch gelöst. Sowohl der Java Compiler als auch der CodeGym-Validierungsprozess können damit nicht glücklich sein.
Eine Methode hat die Aufgabe, sich wiederholenden Code auszulagern, in eben eine Methode. Diese ruft man auf und alles was in jener Methode geschrieben ist, wird ausgeführt.
Einfaches Beispiel:
In Zeile 2 wird die greet Methode augerufen, das bedeutet, der Code wird an dieser Stelle in der main Methode unterbrochen und es wird zu Zeile 7 gesprungen. In Zeile 8 wird in den Standardoutputstream geschrieben und in Zeile 9 wird die Methode wieder verlassen. Es wird nach dem ersten Aufruf von greet (nach Zeile 2) im Code weitergemacht.
+3
Lisa L
14 Juni 2022, 12:57
Natürlich wäre es schön, könnte man den Code, der in einer Methode ausgeführt wird etwas hinzufügen, auf ihn einwirken. Und du glaubst es nicht, das klappt, man kann eine Methode parametrisieren, bei der Definition der Methode können auch Parameter in die runde Klammer geschrieben werden. Diese Parameter werden dann in der Methode benutzt als wären sie lokale Variablen.
Beispiel:
In Zeile 2 wird wieder die Methode aufgerufen. Diese mal geben wir ihr ein Argument mit, einen Namen (beim Methodenaufruf heißt das Argument, in der Methodendefinition Parameter).
Diese Argument wird nun in Zeile 5 der Variablen name zugewiesen. Innerhalb der Methode kannst du jetzt auf name zugreifen.
Toll, deine Methode ist jetzt leistungsfähiger.
Wäre ja auch witzlos, könnte beispielsweise eine Methode zum Summen berechnen nur die Summe aus 2 und 2 berechnen und du müßtest schon für 2 + 3 eine neue schreiben.
So ist das bei dir...
Und zudem sind noch in der main Methode die variablen a und b nicht deklariert. Hier meckert der Compiler, dass er das Symbol nicht auflösen kann. Er kennt einfach a und b nicht. +3