CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design
Frage
  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Alle Fragen
CodeGym/Hilfe bei Java-Aufgaben/I dont know, but my cod shoud be right?
hidden #10618197
Level 16
  • 26.09.20
  • 514Aufrufe
  • 8Kommentare

I dont know, but my cod shoud be right?

Frage zur Aufgabe Die kleinste von N Zahlen
Java Syntax,  Level 8,  Lektion 11
In Diskussion


1. Gib mit der Tastatur die Zahl N ein.
2. Lies N Ganzzahlen und füge sie in eine Liste ein: die Methode integerlisteAbrufen.
3. Finde das kleinste unter den Listenelementen: die Methode kleinstenWertAbrufen.

Anforderungen:
  • Das Programm muss Text auf dem Bildschirm ausgeben.
  • Das Programm muss Werte von der Tastatur lesen.
  • Die Solution-Klasse darf nur drei Methoden enthalten.
  • Die Methode integerlisteAbrufen() muss die Zahl N von der Tastatur lesen und dann eine Liste von N Elementen zurückgeben, die mit von der Tastatur gelesenen Zahlen gefüllt wurden.
  • Die Methode kleinstenWertAbrufen() muss den kleinsten Wert unter den Listenelementen zurückgeben.
  • Die main()-Methode muss die Methode integerlisteAbrufen() aufrufen.
  • Die main()-Methode muss die Methode kleinstenWertAbrufen() aufrufen.
package de.codegym.task.task08.task0822; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /* Die kleinste von N Zahlen */ public class Solution { public static void main(String[] args) throws Exception { List<Integer> integerliste = integerlisteAbrufen(); System.out.println(kleinstenWertabrufen(integerliste)); } public static int kleinstenWertabrufen(List<Integer> array) { for(int i = 0; i < array.size(); i++) { int x; for (int j = 0; j < array.size()-1; j++) { if (array.get(j) > array.get(j + 1)) { x = array.get(j); array.get(j) = array.get(j+1); array.get(j+1) = x; } } }// Kleinsten Wert finden return array.get(0); } public static List<Integer> integerlisteAbrufen() throws IOException { BufferedReader rd = new BufferedReader(new InputStreamReader(System.in)); int x = Integer.parseInt(rd.readLine()); List<Integer> array = new ArrayList<Integer>(); while(array.size() < x) { array.add(Integer.parseInt(rd.readLine())); } // Liste hier erstellen und initialisieren return array; } }
0
Kommentare (8)
  • Beliebt
  • Neu
  • Alt
Sie müssen angemeldet sein um einen Kommentar zu hinterlassen
hidden #10618197
Level 16
27 September 2020, 09:52
I understand my mistake. so you can't overwrite an ArrayList element like this list.get(j) = list.get(j+1). you need the setter. And I wrote a new loop: int x = Integer.MAX_VALUE; for(int i = 0; i < array.size(); i++) { if(array.get(i) < x) { x = array.get(i); } } return x; is much better. Yesterday I worked Codegym for 4 hours. it was too much and too many tasks. Nouser you get a like from me
0
hidden #10618197
Level 16
26 September 2020, 21:15
Ok thanks
0
Nouser
Level 36 , Germany
27 September 2020, 06:32Nützlich
Access to list is not correct. Lines 26, 27 look as following
array.set(j, array.get(j + 1));
array.set(j + 1, x);
Still sorting a list is not always the best method to find a simple maximum. Usually you use one helper variable for that, loop over the list and compare/ set the helper variable if the list entry is greater. The helper variable has to be initialized with the first list entry or with (depending on what you need, min or max) with the max or min integer (cause you work with ints here) value .
+2
Nouser
Level 36 , Germany
26 September 2020, 21:01
I guess I have a problem with my eyes and not seen the nested loop. When I'm back at my PC I'll test the code.
0
hidden #10618197
Level 16
26 September 2020, 19:28
I always sort Arrays this way, and it works. Why it do not work in ArrayList?
0
hidden #10618197
Level 16
26 September 2020, 19:25
Sorry but I do not understand that
0
Nouser
Level 36 , Germany
26 September 2020, 19:04
You do not sort. You just move one element of the list (the max) to the end of the list. So index 0 can be everything but not the maximum.
0
hidden #10618197
Level 16
26 September 2020, 18:52
And please dont recommend the Collections.sort methode
0
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
Interface-Sprache
English
Deutsch
Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym