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.
Array soll an Konstruktor übergeben werden..Hilfe!
ich habe ein Problem, und zwar komm ich bei folgender Aufgabe einfach nicht weiter:
1. Erstellen Sie eine Klasse, die als Eigenschaften zwei Arrays enthält, eins für Zahlen (beliebiger Datentyp) und eins für einzelne Buchstaben (char).
Die Zahlen und Buchstaben werden in der nächsten Übungsaufgabe vom Benutzer am Bildschirm eingegeben, für diese Aufgabe übergeben Sie sie mit dem Konstruktor.
2. Errechnen Sie die Summe aller Elemente der einzelnen Zahlenreihen und geben Sie das Ergebnis und alle Zwischenergebnisse am Bildschirm aus.
3. Ersetzen Sie alle geraden Elemente (x) der Zahlenreihen durch neue Elemente (ein beliebiges y, das der Benutzer in der nächsten Übungsaufgabe am Bildschirm eingeben kann) und geben sie die neue Zahlenreihe am Bildschirm aus.
Übergeben Sie y als Parameter an die Methode.
4. Zählen Sie die in 3. ersetzten Elemente und geben Sie die Anzahl am Bildschirm aus.
5. Sortieren Sie die Elemente der Zahlenreihe von groß nach klein und geben Sie die neue Zahlenreihe am Bildschirm aus.
6. Geben Sie das Buchstaben-Array (ebenfalls vom Benutzer eingegeben), einmal in Großbuchstaben und einmal in Kleinbuchstaben aus.
7. Addieren Sie im Buchstaben-Array eine Ganzzahl kleiner als 10 zu jedem Array-Element, geben Sie die neue Reihe aus und erklären Sie das Ergebnis.
8. Führen Sie den Benutzer mit sinnvollen Texten durch das Programm. Setzen Sie den jeweiligen Ausgaben am Bildschirm einen sinnvollen Text voran, so daß erkennbar ist, welche Ergebnisse ausgegeben werden
public class Reihungen{
int [] zahlen = new int[10];
char [] buchstaben = new char[10];
public Reihungen(){
}
public static void main(String args[]) {
}
}
Hat irgendjemand ewine Ahnung wie ich diese Aufgabe lösen kann ??
super danke! aber statt int für zeichen soll ich da glaub char nehmen....und wie krieg ich das nun hin, dass die werte am bildschirm eingegeben werden können ??
super danke! aber statt int für zeichen soll ich da glaub char nehmen....und wie krieg ich das nun hin, dass die werte am bildschirm eingegeben werden können ??
Die Zahlen und Buchstaben werden in der nächsten Übungsaufgabe vom Benutzer am Bildschirm eingegeben, für diese Aufgabe übergeben Sie sie mit dem Konstruktor.
oder ist damit gar nicht die eingabe in der kommandozeile gemeint ? hast du vllt einen vorschlag wie ich die aufgabe weiter angehen kann ? ich versteh irgendwie nicht was da denn berechnet werden soll ohne konkrete werte :/
Ich finde die Aufgabenstellung ohnehin mehr als verwirrend gestellt.
Ist jetzt mit der nächsten Aufgabe die 2. gemeint, oder die nächste Aufgabe, die ihr bearbeiten werdet? Das war nämlich mein ursprünglicher Gedanke. Ansonsten würde ich einfach für jeden Teilabschnitt eine kleine Methode schreiben, oder habt ihr das Thema noch nicht behandelt? Und in der Main einmal über die Konsole Zahlen einlesen, dann entsprechend ein Objekt der Klasse erstellen und alle gewünschten Methoden darauf ausführen.
hmmm so sicher bin ich mir da auch nicht. aber ich müsste die aufgabe ja trotzdem irgendwie weiter bearbeiten können ? mit methoden komm ich klar. aber wie kann ich denn da jatzt irgendwas berechnen ohne konkrete werte ?
import java.util.Scanner;
public class Reihungen{
int zahlen[];
char zeichen[];
public Reihungen(int[] zahlen, char[] zeichen)
{
this.zahlen = zahlen;
this.zeichen = zeichen;
/*for( int index = 0; index < zahlen.length; index++){
zahlen[index] = index*3;
}
for( int index = 0; index < zahlen.length; index++){
System.out.println(zahlen[index])
}
public static void main(String args[int[] zahlen, char[] zeichen]) {
Scanner tastatur = new Scanner(System.in);*/
}
Ich hoffe mal das ist dir beim Kopieren durcheinander gekommen, wenn es ursprünglich so gedacht war, dann macht es Sinn. Mal davon abgesehen, dass die letzte Klammer gefehlt hat:
Java:
public static void main(String args[int[] zahlen, char[] zeichen]) {
Scanner tastatur = new Scanner(System.in);
for( int index = 0; index < zahlen.length; index++){
zahlen[index] = index*3;
}
for( int index = 0; index < zahlen.length; index++){
System.out.println(zahlen[index])
}
}
Dir ist aber hoffentlich klar, das du die beiden Schleifen auch genausgut in einer schreiben könntest? Das du dabei noch nichts von der Tastatur einliest, versteht sich ja von selbst.
Java:
public static void main(String args[int[] zahlen, char[] zeichen]) {
Scanner tastatur = new Scanner(System.in);
for( int index = 0; index < zahlen.length; index++){
zahlen[index] = index*3;
System.out.println(zahlen[index])
}
}
[EDIT]Moment mal, wie du das auskommentiert hast ist etwas verwirrend. Gehörte die for-Schleife in den Konstruktor? Da macht Sie eigentlich keinen Sinn, zumindest dier erste (Die sollte in die main, da muss man dann allerdings das Array noch anlegen, was mir gerade erst auffällt, genauso wie die fehlende schließend Klammer des Konstruktors). Die zweite macht so dagegen schon Sinn, um sich mal den Inhalt zu debugging-Zwecken auszugeben.[/EDIT]
okay danke dir und wie krieg ich das nun hin, dass ich was von der tastatur einlesen kann ??
achja dass ich den index hier mit 3 multipliziere hab ich nur mal gemacht um was auszuprobieren aber beim kompilieren zeigt es mir jede menge errors an:/
Das Beispiel, so wie du es dir vermutlich gedacht hast mal kompilierbar und gleich mit dem einlesen eines Worts:
Java:
import java.util.Scanner;
public class Reihungen{
int zahlen[];
char zeichen[];
public Reihungen(int[] zahlen, char[] zeichen)
{
this.zahlen = zahlen;
this.zeichen = zeichen;
for( int index = 0; index < zahlen.length; index++){
System.out.println(zahlen[index]);
}
}
public static void main(String args[int[] zahlen, char[] zeichen]) {
int[] zahlen =new int[5];
for( int index = 0; index < zahlen.length; index++){
zahlen[index] = index*3;
}
Scanner tastatur = new Scanner(System.in);
String word=tastur.next(); //liest ein Wort, alternativ auch nextLine für eine Zeile
new Reihungen(zahlen,word.toCharArray()); //wandelt einen String in ein char Array um
}
}