Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich möchte eine Zahl einlesen zwischen 5 und 15
Erzeugung eines Arrays. der Array soll n Zahlen mit Nachkommastellen aufnehmen können.
N Zahlen durch den Benutzer eingeben und im Array speichern.
Das Programm soll zählen wieviel Zahlen im Array größer als 0 sind und diese ausgeben.
Das ist teil 1.
im 2ten Teil soll der Zählvorgang in einer Methode stattfinden. Die Methode soll den Array als Parameter übergeben bekommen und die ermittelte Anzahl als Rückgabewert zurückliefern. Tastatureingabe und Bildschirmausgabe soll weiterhin im Hauptprogramm stattfinden:
Problem hierbei:
Zuerst versteh ich den 1 Teil nicht ganz.
Soll ich einen Array erzeugen, der zwischen 5 und 15 groß ist?
[Java]
import java.io.*;
public class Arrays1 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
double [] array;
array = new double [5];
System.out.println ("Bitte Arraywerte eingeben");
for (int i=0;i<array.length ;i++ ) {
array= Double.parseDouble(in.readLine());
} // end of for
for (int i=0;i<array.length ;i++ ) {
}
}
}
[/Java]
In meinem bisherigen Code, erzeuge ich ein Array 5 (weiß nicht genau wie ich das mit dem Array erzeugen zwischen 5-15 machen soll)
Die Array zahlen werden eingegeben.
Weiter bin ich leider noch nicht gekommen. Ich habe die Suchfunktion benutzt, bin nur leider etwas überfordert, weil ich das meiste nicht verstehe :/
Ziemlich viel wirrwarr. Kannst du uns nochmal mitteilen wo du genau Probleme hast? Werde aus deinen beiden Posts ned wirklich schlau.
Weiters, wenn du ein Array mit einer beliebigen Länge x erstellen möchtest kannst du dazu beispielsweise das args - String Array verwenden und eben noch nen expliziten Typcast ausführen. Müsste so funktionieren.
for (int i=0;i<array.length ;i++ ) {
if (array >0) {
System.out.println (array);
} // end of if
}
}
}
[/Java]
Aufgabe:
Erzeugung eines Arrays, der Zahlen mit Nachkommastellen aufnehmen kann.
Eingabe der Zahlen durch den Benutzer und dann soll das Programm die Zahlen rausspucken die > 0 sind.
Im 2ten Teil, sollte ich die Zählvorgang in einer Methode stattfinden lassen.
Tastaturausgabe / Eingabe alles im Hauptprogramm
Das Programm soll ausspucken, wieviel Zahlen > 0 sind.
[Java]
import java.io.*;
public class Arrays1 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int anzahl = abc(array);
System.out.println ("arraywerte über 0"+" "+anzahl);
}
public static int abc ( double[] array){
int zahl=0 ;
for (int i=0;i<array.length ;i++ ) {
if (array>0) {
zahl++;
} // end of if
} // end of for
return zahl;
}
}
[/Java]
Mein Problem liegt jetzt einfach darin, dass ich das Array erzeugen soll. Das Array soll die Länge X haben, wobei ich die Länge des Arrays über eine Tastatureingabe machen soll und das Array soll nicht kleiner als 5 und nicht größer als 15 sein.
Da hapert es bei mir :/
Wenn ich dich jetzt richtig verstanden willst du das das Array erst erzeugt wird, nachdem der Benutzer 5-15 Werte eingetragen hat ?
Wenn ja würde ich dafür einen String verwenden. Du kannst die Werte so ganz einfach speichern und sie nachher mit .split in ein Array umwandeln.
Java:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int counter = 0;
String buffer = "";
while(counter < 15){
buffer += in.readLine() + ";";
counter++;
}
String[] sNumbers = buffer.split(";");
double[] dNumbers = new double[sNumbers.length]; // in diesem Array sind jetzt deine double Werte
for(int i = 0; i < dNumbers.length; i++){
dNumbers[i] = new Double(sNumbers[i]);
}