Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Java: Problem bei Aufgabe

Mitglied: WhatEver007

WhatEver007 (Level 1) - Jetzt verbinden

22.10.2019 um 14:34 Uhr, 777 Aufrufe, 23 Kommentare, 1 Danke

Hallo zusammen,

ich habe bereits einwenig an der Aufgabe gearbeitet. Habe aber ein Problem - solltet ihr anhand der Aufgabe erkennen können.
Ich bin dankbar für eure Lösungshilfen.

Gruß Felix

_______________________________

Die folgende Reihe ist mit einem Programm zu berechnen: 1² + 2² + 3² + ... + n²

Vor dem Start des Programms wird ein Grenzwert für die Reihe eingeben, welcher nicht überschritten werden darf. Das Programm gibt am Ende die Anzahl der Summanden aus. Anschließend fragt es, ob eine weitere Reihe berechnet werden soll. Gibt der Anwender das Zeichen 'j' ein, so darf er anschließend einen neuen Grenzwert eingeben und die Reihe wird berechnet. Erstellen Sie ein Struktogramm und anschließend den Javacode.

Beispiel: Grenzwert = 16
1² + 2² + 3² = 14 (liegt unter dem Grenzwert) 1² + 2² + 3² + 4² = 30 (liegt über dem Grenzwert)
Anzahl der Summanden: 3

___________________________________________
Lösungsansatz:

Mitglied: Grinskeks
22.10.2019 um 15:12 Uhr
Hallo,

deine For-Schleife läuft 15 x durch bevor sie den Grenzwert erreicht. Eigentlich sollte die Anzahl der Iterationen gleich der Anzahl der Elemente in der Reihe entsprechen.

Lass dir einfach für jede Schleifen-Iteration die Werte in den Variablen ausgeben und du findest den Fehler selbst.
Und den zweiten Fehler direkt im Anschluss, sofern der Grenzwert nicht nur beliebig angenähert sondern auch tatsächlich erreicht wird.

Das ist ja gerade der Riesenspaß am Programmieren - es selbst herauszufinden

Gruß
Grinskeks
Bitte warten ..
Mitglied: SlainteMhath
22.10.2019 um 15:13 Uhr
Moin,


Beispiel: Grenzwert = 16
1² + 2² + 3² = 14 (liegt unter dem Grenzwert) 1² + 2² + 3² + 4² = 30 (liegt über dem Grenzwert)
Anzahl der Summanden: 3
Dein Programm macht aber ganz was anders...

for(int i = 0; i < grenzwert; i++)
... überleg mal ob/wie das zu der Aufgabenstellung passt

lg,
Slainte
Bitte warten ..
Mitglied: Reinartz
22.10.2019 um 15:15 Uhr
Da war einer schneller
Es fehlt auch noch eine weitere Schleife (oder ähnliches) in der du die Eingabe des Nutzers prüfst (sonst ist dein Program nach einem Durchlauf zu end)
Bitte warten ..
Mitglied: WhatEver007
22.10.2019 um 15:15 Uhr
icih komm nicht ganz dahinter häng schon seit ein paar tagen an der aufgabe :D.....
Bitte warten ..
Mitglied: SlainteMhath
22.10.2019 um 15:25 Uhr
icih komm nicht ganz dahinter häng schon seit ein paar tagen an der aufgabe :D.....
Wie sieht denn das geforderte Struktogramm aus?

Fragen die du dir stellen solltest:

Gegen was soll der Grenzwert geprüft werden? Gegen die Basis der Exponentialrechung? Gegen was prüfst du?
Und: was ist der Unterschied zwischen deinen Variablen i, zahl und anzSummand?
Bitte warten ..
Mitglied: WhatEver007
22.10.2019 um 15:27 Uhr
der grenzwert soll gegen das ergebnis geprüft werden
Bitte warten ..
Mitglied: WhatEver007
22.10.2019 um 15:27 Uhr
gut.. der unterschied ist eigentlich keiner :o alle variablen sollen sich nur um 1 erhöhen pro durchlauf,..
könnte man wohl also in einer variablen machen?
Bitte warten ..
Mitglied: Reinartz
22.10.2019 um 15:35 Uhr
In deiner For Schleife würde bei Grenzwert 30, den der Nutzer ja eingegeben hat, 30 Mal die Schleife durchlaufen und nicht so lange bis die Berechnung <30 ist
Bitte warten ..
Mitglied: WhatEver007
22.10.2019 um 15:42 Uhr
achso ja also i < ergebnis
Bitte warten ..
Mitglied: WhatEver007
22.10.2019 um 15:43 Uhr
ups ne das ergibt keinen sinn...
ja wie sag ich dem denn dass der so lange durchlaufen soll bis ergebnis <= grenzwert
Bitte warten ..
Mitglied: Reinartz
22.10.2019 um 15:44 Uhr
z.B i= ergebnis
Bitte warten ..
Mitglied: erikro
22.10.2019 um 16:12 Uhr
Moin,
Zitat von WhatEver007:

ups ne das ergibt keinen sinn...
ja wie sag ich dem denn dass der so lange durchlaufen soll bis ergebnis <= grenzwert

Na "während das Ergebnis kleiner oder gleich Grenzwert". Übersetze das einfach mal ins Englische. Dann hast Du Deine richtige Schleife.

hth

Erik
Bitte warten ..
Mitglied: Reinartz
22.10.2019 um 20:28 Uhr
Hab es jetzt mal so gelöst
Es ist bei weitem nicht perfekt (man sollte noch die Eingaben abfragen ob der Nutzer das richtige eingiebt) und es geht auch deutlich schlanker aber es geht

public static void main(String[] args)
{
int grenzwert = 0;
int anzSummand = 0;
Scanner nochmal;
Scanner scan;
int ergebnis = 0;
int zahl = 1;
String weiter="j";
System.out.println("Berechnung von: 1² + 2² + 3²....n²");
while (weiter.equals("j") )
{
System.out.println("Geben Sie einen Grenzwert ein: ");
scan = new Scanner(System.in);
grenzwert = scan.nextInt();
for(int i = 0; i <= grenzwert; )
{
ergebnis = zahl*zahl;
System.out.println(zahl + " hoch "+ zahl + " ist gleich "+ ergebnis );
zahl++;
anzSummand++;
i=zahl*zahl;
}
System.out.println("Ergebnis: " + anzSummand);
System.out.println("Wollen Sie eine weitere Berechnung durchführen ?");
zahl=1;
ergebnis=0;
anzSummand=0;
nochmal =new Scanner(System.in);
weiter = nochmal.nextLine();
}
}
}
Bitte warten ..
Mitglied: SlainteMhath
23.10.2019 um 08:29 Uhr
Zitat von Reinartz:

Hab es jetzt mal so gelöst
Mal abgesehen, das dem das reine Lösen der Aufgabe beim TO keinen Lerneffekt erzielt, und du nichtmal code Tags verwendest, löst dein Code nicht die gestellte Aufgabe!!
Bitte warten ..
Mitglied: Reinartz
23.10.2019 um 08:53 Uhr
Ohhh da habe ich doch tatsächlich was überlesen
Bitte warten ..
Mitglied: SlainteMhath
23.10.2019 um 09:11 Uhr
@WhatEver007
Ich wiederhole nochmal meine Frage von oben, da du sie scheinbar übersehen hast:

Wie sieht denn das geforderte Struktogramm aus?
Bitte warten ..
Mitglied: WhatEver007
23.10.2019 um 09:11 Uhr
Ich weiss ich werde jetzt gesteinigt, aber ich habe kein Struktogramm
Bitte warten ..
Mitglied: ITvortex
23.10.2019 um 09:45 Uhr
Zitat von Reinartz:

Hab es jetzt mal so gelöst
Es ist bei weitem nicht perfekt (man sollte noch die Eingaben abfragen ob der Nutzer das richtige eingiebt) und es geht auch deutlich schlanker aber es geht

public static void main(String[] args)
{
int grenzwert = 0;
int anzSummand = 0;
Scanner nochmal;
Scanner scan;
int ergebnis = 0;
int zahl = 1;
String weiter="j";
System.out.println("Berechnung von: 1² + 2² + 3²....n²");
while (weiter.equals("j") )
{
System.out.println("Geben Sie einen Grenzwert ein: ");
scan = new Scanner(System.in);
grenzwert = scan.nextInt();
for(int i = 0; i <= grenzwert; )
{
ergebnis = zahl*zahl;
System.out.println(zahl + " hoch "+ zahl + " ist gleich "+ ergebnis );
zahl++;
anzSummand++;
i=zahl*zahl;
}
System.out.println("Ergebnis: " + anzSummand);
System.out.println("Wollen Sie eine weitere Berechnung durchführen ?");
zahl=1;
ergebnis=0;
anzSummand=0;
nochmal =new Scanner(System.in);
weiter = nochmal.nextLine();
}
}
}

Das Ergebnis müsste ergebnis = ergebnis + (zahl*zahl); sein.


Aber wie schon oben erwähnt wurde, die Hausaufgaben sollten ja zum Lernen sein und nicht damit wir sie für den TO lösen
Bitte warten ..
Mitglied: SlainteMhath
23.10.2019 um 09:46 Uhr
Dann mal doch mal eins. Dann wird dir auch klar, was du im Programm machen musst.
Bitte warten ..
Mitglied: ITvortex
23.10.2019 um 09:47 Uhr
Zitat von WhatEver007:

Ich weiss ich werde jetzt gesteinigt, aber ich habe kein Struktogramm

Hast du dir den überhaupt irgendwelche Gedanken zu deiner Aufgabenstellung gemacht oder hast du schlicht keine Lust?

Sorry aber ich verstehe nicht wieso man in einem Forum Leute mit einer Aufgabenstellung konfrontiert wenn man sich nicht mal 1 Minute hingesetzt hat.
Bitte warten ..
Mitglied: WhatEver007
23.10.2019 um 09:51 Uhr
habe ich
habe auch den großteil der aufgabe schon gelöst gehabt nur gabs ein kleines problem

von keine lust ist hier nicht die rede, da die aufgaben auch freiwillig sind
Bitte warten ..
Mitglied: holli.zimmi
24.10.2019, aktualisiert um 12:01 Uhr
Zitat von WhatEver007:

habe ich
habe auch den großteil der aufgabe schon gelöst gehabt nur gabs ein kleines problem

von keine lust ist hier nicht die rede, da die aufgaben auch freiwillig sind

Hi

kannst Du bitte beim Schreiben folgendes beachten:
1. Groß und Kleinschreibung
2. Punkt, Ausrufezeichen und Fragezeichen setzen

Frage:
1. Wieso hast Du kein Struktogramm oder PAP ?

...

Gruß

Holli
Bitte warten ..
Ähnliche Inhalte
Java
Java kompilieren
Frage von ZockervogelJava5 Kommentare

Hallo, leider habe ich überhaupt keine Ahnung von dem was ich jetzt schreibe :-) Ich habe hier ein .jar ...

Java
Java kostenpflichtig
gelöst Frage von NordicMikeJava10 Kommentare

Moin together, laut meiner Suche wurde hier letztes Jahr schon darüber diskutiert, dass Java kostenpflichtig wird. Jetzt ist es ...

Java
Java Applets in Java Web Start migrieren
Frage von Manu776Java

Ich bin duale Studentin im 2. Semester und habe die Aufgabe eine Anwendung in unserer Firma, die auf Java ...

Debian

Auf raspberry java 7 und java 8 installieren

gelöst Frage von lasterDebian3 Kommentare

Hallo, habe auf meinen Pi (3+), Raspbian Stretch Lite, Kernel 4.14 den UniFi WLAN Controller laufen. Für ihn habe ...

Neue Wissensbeiträge
Windows Server

Update KB4541329 (März 2020) und Windows Server 2016 RDS 1609 Probleme

Anleitung von System-Fehler vor 8 MinutenWindows Server

Hallo, hier zur Info und eventuelle Hilfe: Wir hatten folgende Fehler: Windows 2016 Datacenter 1609, hier als RDS Dienste ...

Internet

Aktuelle Netzauslastung in Deutschland durch die Covid-19-Pandemie

Information von Frank vor 22 StundenInternet6 Kommentare

Viele Bürger fragen sich, ob die Telekommunikationsnetze während der Covid-19-Pandemie der verstärkten Internetnutzung durch Home Office, eLearning, Videostreaming und ...

iOS

iOS-Bug unterbindet vollständiges VPN-Tunneling

Information von transocean vor 2 TageniOS

Moin, seit dem letzten Update hat iOS für iPhone und iPad ein Problem mit der Verschlüsselung. Lest selbst. Grüße ...

Sicherheit
Corona Malware über manipulierte Router
Information von sabines vor 3 TagenSicherheit

Heise berichtet über Malware, die in Zusammenhang zum Suchethema Corona steht und über DNS Einstellungen bei D-Link und Linksys ...

Heiß diskutierte Inhalte
Windows Server
DNS Problem Server 2019 unter Win10 Host
Frage von Ketme10Windows Server18 Kommentare

Guten Tag zusammen. Ich bräuchte mal Hilfe. Ich habe Win 10 und Hyper V laufen. Hier habe ich 4 ...

KVM
Best Practice für Fileserver auf Proxmox Cluster
gelöst Frage von maichelmannKVM17 Kommentare

Hallo, derzeit laufen in einer Firma, dessen Netzwerk ich betreue, zwei Windows Server Hyper-V Hosts, jeweils mit einem recht ...

Firewall
PfSense und VLANs mit LAGG
Frage von unique24Firewall13 Kommentare

Hallo, ich habe ein Mikrotik Switch Netzwerk welches über 2 LWL an die pfSense angeschlossen ist pfSense: ixl2 = ...

TK-Netze & Geräte
Netphone APP nimmt kein Kontakt auf
Frage von Finchen961988TK-Netze & Geräte12 Kommentare

Hallo, ich kämfpe mit einem Problem im Bereich Netphone und der Mobil APP. Bei einem Kunden habe ich eine ...