Reihung anlegen, Werte einlesen

Status
Nicht offen für weitere Antworten.

babuschka

Top Contributor
hallo,
ich grüble gerad über folgendes nach: ich möchte eine funktion schreiben, die den komponententyp int als Parameter hat&den maximalen Wert der übergebenen Reihung bestimmt. Diese Funktion soll eingebettet sein in einem Hauptprogramm, welches die Größe der Reihung einlesen kann, eine entsprechende Reihung anlegt und die Parameter der Funktion mit den über die Standradeingabe eingelesenen Werten initialisiert. Klingt kompliziert, oder
;-)? Was mir dazu eingefallen ist:


Code:
 public class Reihung{
          private static int Max (int...)//hier würde ich doch nun die Parameter auflisten in Klammern
                                                  //auflisten, weiß aber nicht so recht, in welcher Form (wegen der Reihung)
              


          public static void main(String[] args){
   
           int i = x.liesInt();             //eigene Klasse zum Einlesen der Werte (oder muss das int [] i=new int ...heißen?)
           System.out.println("Reihung:" + ?);
          
            }//main
    
      }//Max-Funktion

}//class

Ihr seht schon, ich komme nicht weit. Also die allgemeine Form (die äußere) bekomme ich noch hin. Die eine oder andere Anweisung (z.B. das einlesen von int-Werten) auch, aber ich kann mir das Reihungskonstrukt einfach nicht erschließen. Ich würde mich echt freuen, wenn mir jemanden einen Tipp geben könnte, denn ich sitze schon so :shock: vor meinem Java-Buch..(Danke im Voraus).

Grüße, s.ho
 

Wildcard

Top Contributor
WTF ist eine Reihung? ein Array?

meinst du sowas?

Code:
public class Reihung
{ 
          private static int max (int[] array)//hier würde ich doch nun die Parameter auflisten in Klammern 
           {                                       //auflisten, weiß aber nicht so recht, in welcher Form (wegen der Reihung) 
              
                int maxInt =0;
                for (int i=0;i<10;i++)        
                {
                    if (array[i]>maxInt)
                        maxInt=array[i];
                }
                return maxInt;
                
            }

          public static void main(String[] args)
            { 
    
               int array = x.liesInt();                     
                int [] array = new int[10];
                for (int i=0; i<10;i++)
                {
                    array[i]= x.liesInt();
                    System.out.println("Reihung:" + array[i]); 
                }
            
                System.out.println( max(array));
          
            }//main 
    
     

}//class

[edit] tippfehler korrigiert[/edit]
 

babuschka

Top Contributor
What the f: genau das. Bei uns MUSS es "Reihung" heißen, komisch..Aber ja, Danke, das meinte ich! Auf die Lösung mit der for-Anweisung wäre so nicht gekommen..Wenn ich es so ausführe, beschwert sich allerdings der Compiler, weil

int i = x.liesInt();

for (int i=0; i<10;i++)

i in main zweimal definiert ist...
 

Wildcard

Top Contributor
Tippfehler schon verbessert. Hatte einfach deinen Code übernommen und wohl
nicht alles verändert :wink:
Gewöhn dir den "Reihungs" sch**** bloß nicht an. Da lacht man dich ja aus :D
 

babuschka

Top Contributor
..ja, da hast du wohl recht, mit dem auslachen meine ich :wink:
nochmal zu dem code:
ich habe ihn soweit verstanden, das programm "läuft" auch..allerdings muss ich noch rausfinden, an welcher stelle
ich noch ein system.out.print() einbauen kann, um beim "benutzen" des programms deutlich zu machen, wann man was einliest und wann was ausgegeben wird. aber das sollte ich hinbekommen, danke nochmal!
 

babuschka

Top Contributor
hallo,
und doch nochmal zum gleichen thema: sorry, ich "musste" array nun doch reihe nennen :roll:
also sieht das programm nun so aus:
Code:
/*Funktion Max, eingebunden in ein Hauptprogramm: Funktion Max soll
/ den maximalen Wert einer int-Reihung bestimmen. Die größe dieser Reihung (array)
/ soll über einen über die Standardeing. eingelesenen Wert bestimmt werden und dann
/ mit ebenfalls eingelesenen Werten initialisiert werden.*/


public class Reihung
{
         private static int max (int[] reihe) //
        {
		int maxInt =0;
        for (int i=0;i<10;i++)
        {
        	if (reihe[i]>maxInt)
        	maxInt = reihe[i];
        }
            return maxInt;

        }

        //main soll die größe der Reihung durch eingelesenen Wert bestimmen,
        //dann entsprechend viele Werte zur Init. einlesen UND dann
        //die Funktion max aufrufen, um den größten Wert zu bestimmen.
        public static void main(String[] args)
            {

            int i = EM01.liesInt();
            int [] reihe = new int[10];
            for (i=0; i<10;i++)
            {
            	reihe[i]= EM01.liesInt();
                System.out.println("Reihung:" + reihe[i]);
	System.out.println( max(reihe));
            }

         }//main
}//class
Soo, in dieser Form ist es schon irgendwie so, wie ich es mir vorgestellt habe:)...Allerdings läuft das Programm
nun immer so lange, bis man 10 Werte eingegeben hat und es bestimmt nach jeder neuen der 10 Eingabe, den aktuell größten Wert. Eigentlich auch ok, aber ich möchte ja nicht 10 Elemente, sondern einen eigenen Wert n einlesen können zu Beginn, der die Größe des Arrays dann festlegt, mich die entsprechende Anzahl an Werten eingeben lässt und DANN mit der Funktion den größten dieser Werte bestimmt. Vielleicht hat nochmal jemand eine Idee dazu? Mir fehlt einfach noch das Handwerkszeug..Vielleicht mit einer Variable int n = x.liesInt(); am Anfang von main?
Danke..
 

Wildcard

Top Contributor
initalisier das array mit einem eingegebenen wert:

Code:
n= x.liesInt();
int [] array = new int[x]

die for schleife sieht dann so aus:

Code:
for (int i =0;i<array.length-1;i++)
{
    //wichtiger kram
}
 
G

Guest

Gast
n'abend :!:
danke für den letzte tipp! ich wollte nur nochmal zeigen, wie das "endprodukt" nun aussieht:

Code:
public class Reihung
{
	public static int max (int[] reihe) //
    {
		int maxInt =0;
		int n = 1;
        for (int i=0;i<=n;i++)
        {
        	if (reihe[i]>maxInt)
        	maxInt = reihe[i];
        }
            return maxInt;

        }

        //main bestimmt Größe der Reihung durch eingelesenen Wert n.
        //Liest entsprechend viele Werte zur Init. der Reihung ein UND
        //bestimmt dann durch Aufruf der Funktion max den größten Wert.
        public static void main(String[] args)
            {
			int n= x.liesInt();
			int i = x.liesInt();
            int [] reihe = new int[n];
            for (i=0; i<=n;i++)
            {
            	reihe[i]= x.liesInt();
                System.out.println("Reihung:" + reihe[i]);
				System.out.println( max(reihe));
			}

         }//main
}//class

Hätt' ich ohne die Tipps nicht geschafft..
Schönen Abend*
 

Wildcard

Top Contributor
Schön das du dich bedankst, aber du bist nicht ganz fertig :wink:
So funktioniert das nämlich nicht.
Du liest das Array ein, und prüftst nach jedem Wert das max.
geht so aber nicht, weil deine max funktion immer nur die erste Zahl des Arrays einliest.
Das i brauchst du nicht einlesen. das dient nur als Zähler für die Vorschleife.
(Wann verstehen Lehrer endlich das diese selbstgebauten "StandartInputKlassenDinger"
nicht unbedingt das Verständnis fördern :roll:
Ich verbesser das mal kurz:

Code:
public class Reihung 
{ 
   public static int max (int[] reihe) // 
    { 
      int maxInt =0; 
      int n = 1; 
        for (int i=0;i<reihe.length;i++) 
        { 
           if (reihe[i]>maxInt) 
           maxInt = reihe[i]; 
        } 
            return maxInt; 

    } 

        //main bestimmt Größe der Reihung durch eingelesenen Wert n. 
        //Liest entsprechend viele Werte zur Init. der Reihung ein UND 
        //bestimmt dann durch Aufruf der Funktion max den größten Wert. 
        public static void main(String[] args) 
        { 
            int n= x.liesInt(); 
            int [] reihe = new int[n]; 
            for (i=0; i<n;i++) 
            { 
               reihe[i]= x.liesInt(); 
                System.out.println("Reihung:" + reihe[i]); 

             } 
            System.out.println( max(reihe)); 

         }//main 
}//class

wenn du nicht verstehst was ich hier geändert hab einfach fragen.
Gleichfalls schönen Abend :D
 

babuschka

Top Contributor
huch, oh ja i<reihe.length; hatte ich ja eigentlich schon übernommen..hatte nochmal die vorletzte version
mit copy+p eingefügt, hab wohl nur noch "code" gesehen..
apropos verständnis: das i steht doch für das i-te (index) feld des arrays und ich init. i in der for schleife mit 0 um im ersten feld zu beginnen. und das reihe.length ist dazu da, dass ich meine indexgrenzen (größe des feldes) nicht überschreite. richtig?;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Rest mit Spring boot oder selbst anlegen Java Basics - Anfänger-Themen 14
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
I Logik Zahlungsprozess - Wann Bestellobjekt anlegen? Java Basics - Anfänger-Themen 2
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
J Datenbankstruktur als Objekt anlegen Java Basics - Anfänger-Themen 4
E OOP Array anlegen mit unterschiedlichen Werten Java Basics - Anfänger-Themen 8
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
Z char Array unbekanntes Zeichen selbstständig anlegen Java Basics - Anfänger-Themen 6
P zweidimensionales Array anlegen und mit DB-Daten füllen Java Basics - Anfänger-Themen 14
K Mehrere Objekte anlegen Java Basics - Anfänger-Themen 23
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
Q Methoden Konstruktoren anlegen Java Basics - Anfänger-Themen 5
S Direkt Instanzen anlegen Java Basics - Anfänger-Themen 1
V Anlegen eines 2 dim Array mit Point Elementen Java Basics - Anfänger-Themen 3
H Programmiertechnik: Methode einer Klasse beim Anlegen überschreibt Java Basics - Anfänger-Themen 3
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
L Classpath anlegen Java Basics - Anfänger-Themen 6
K Bibliothek per "Struktur" anlegen Java Basics - Anfänger-Themen 5
P Mindestangaben beim anlegen von Objekten Java Basics - Anfänger-Themen 4
F Klassenorganisation: Datentyp in Datentyp anlegen Java Basics - Anfänger-Themen 3
E Liste mit Wertepaaren anlegen Java Basics - Anfänger-Themen 4
P Variablen Variable in if Bedingung anlegen, Wert zuweisen und diesen als Bedingung nutzen Java Basics - Anfänger-Themen 4
B Klassen Objekte während der Laufzeit dynamisch anlegen Java Basics - Anfänger-Themen 8
A Konto anlegen Java Basics - Anfänger-Themen 3
A Map anlegen und verwalten Java Basics - Anfänger-Themen 46
3 Array eines Objektes anlegen Java Basics - Anfänger-Themen 4
H Wann ein Objekt der Programmklasse in main anlegen Java Basics - Anfänger-Themen 2
A Variablen für einen Thread anlegen Java Basics - Anfänger-Themen 5
B Dateien anlegen Java Basics - Anfänger-Themen 3
W neue Variablen in Schleife anlegen Java Basics - Anfänger-Themen 13
D Array anlegen ohne bekannte Länge? Java Basics - Anfänger-Themen 6
Houly JUnit Test Suite anlegen Java Basics - Anfänger-Themen 6
B jar Archiv anlegen Java Basics - Anfänger-Themen 2
D Objekte anlegen und Singleton Pattern Java Basics - Anfänger-Themen 21
B logfile anlegen Java Basics - Anfänger-Themen 5
B Datentyp anlegen Java Basics - Anfänger-Themen 6
G Unterverzeichnisse anlegen klappt nicht Java Basics - Anfänger-Themen 4
G Prüfen ob Ordner vorhanden, wenn nicht anlegen? Java Basics - Anfänger-Themen 2
G bin-Datei anlegen und schreiben Java Basics - Anfänger-Themen 5
G Datei mit Java anlegen Java Basics - Anfänger-Themen 9
X Ordner mit Tageszeit als Name anlegen Java Basics - Anfänger-Themen 5
J Datei anlegen Java Basics - Anfänger-Themen 2
J variable Variable anlegen Java Basics - Anfänger-Themen 7
loadbrain dateirechte unter linux, verzeichniss anlegen lassen Java Basics - Anfänger-Themen 10
M Mit Java eine neue DB anlegen über XAMPP? Ist das möglich ? Java Basics - Anfänger-Themen 4
O Variablen über Schleife anlegen Java Basics - Anfänger-Themen 7
H Integerliste anlegen. aber wie Java Basics - Anfänger-Themen 4
Q sun.net.ftp.FtpClient; Ordner anlegen Java Basics - Anfänger-Themen 4
R mehrere Objekte in Schleife anlegen? Java Basics - Anfänger-Themen 4
M Dateien/Verzeichnisse anlegen Java Basics - Anfänger-Themen 10
G JTextArea: Anlegen, Text löschen, überschreiben Java Basics - Anfänger-Themen 4
K Ordner anlegen! Java Basics - Anfänger-Themen 3
E Zweiten Container anlegen Java Basics - Anfänger-Themen 5
S Ein Dokument durchparsen und Dokumente Anlegen Java Basics - Anfänger-Themen 5
S Schöne Tabelle mit println() anlegen Java Basics - Anfänger-Themen 3
I User anlegen und Sytempfade zuordnen Java Basics - Anfänger-Themen 4
G Wie anlegen? Java Basics - Anfänger-Themen 5
H Datein und Ordner kopieren bzw neu anlegen Java Basics - Anfänger-Themen 2
G Path anlegen Java Basics - Anfänger-Themen 2
G Objekte mittels Schleife anlegen und ansprechen Java Basics - Anfänger-Themen 8
F Area anlegen Java Basics - Anfänger-Themen 9
S Datei anlegen Java Basics - Anfänger-Themen 6
S Objekte dynamisch anlegen Java Basics - Anfänger-Themen 3
F Neuen Pfad anlegen Java Basics - Anfänger-Themen 3
M Arrays neu anlegen Java Basics - Anfänger-Themen 4
G Dateien anlegen, kopieren bzw. speichern Java Basics - Anfänger-Themen 5
G Ordner anlegen Java Basics - Anfänger-Themen 2
P x-viele Variablen anlegen Java Basics - Anfänger-Themen 2
DrahtEck Methoden Methoden und Werte Java Basics - Anfänger-Themen 10
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 11
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum sind Werte in den Feldern ? Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
M Nur int-Werte erlauben Java Basics - Anfänger-Themen 11
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
H OOP Werte mit Set verändern Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben