Hallo Leute,
vorab möchte ich mich kurz vorstellen, da ich hier nun neu bin. Ich bin Marcel Röpkes, 17 Jahre alt und wohne in der Nähe von Aurich (Ostfriesland).
Ich besuche zur Zeit die einjährige Berufsfachschule Wirtschaft Schwerpunkt Informatik (BBS1 Leer), die mein 1. Lehrjahr bildet für meine Ausbildung zum FISI, die ich nun am 1. September im VW-Werk in Emden antrete. In der Freizeit beschäftige ich mich im Fitness-Center, mit meinem PC und meiner Entwicklungsumgebung für Java
. Ferner zählen Roller und Autos zu meinen Interessen und das Treffen meiner Freunde. Soviel zu meiner Person, wenn Fragen sind, dann fragen =)
Nun zu meinem Problem: Wir hatten nun das Thema Arrays in der Schule (sind aktuell bei Klassen und externen Methoden etc. ) und wir haben vor den Osterferien eine Arbeit in Java geschrieben. Diese Aufgabe beinhaltete, dass ein Programm solange Zahlen einlesen sollte, bis 3 Zahlen eingegeben wurden, die durch 7 teilbar sind(Zeile 22), nur diese sollen im Array abgelegt werden und nach jeder Eingabe sollte eine Meldung erfolgen (z.B. wurde gespeichert / wurde nicht gespeichert). Ferner soll ein "nochmal" ausgegeben werden, wenn eine Zahl der direkt vorangegangenen gleicht.(Zeile 38-45) (z.B. gebe ich zweimal hintereinander 28 ein, dann sollte da stehen:
28
nochmal 28 )
Rein funktional hab ich das nun auch soweit mit einer for-schleife. Das Problem ist, dass ich ja in der For-Schleife ein If-else Konstrukt habe, und wenn ich gegen Ende des Programms die Zahlen ausgeben möchte, dann werden nur Nullen ausgegeben. Das lässt mich darauf schließen, dass nichts in dem Array abgelegt wird. Ich lese die Zahl in einen Zwischenspeicher ab und packe sie, wenn sie durch 7 teilbar ist, in das array(Zeile 26) Ansonsten wird die Speichervariable überschrieben und die Laufvariable durch "a--" zurückgesetzt (Zeile 31) . Könnt ihr mir sagen, wo das Ausgabeproblem liegt?
Wäre euch sehr dankbar, da ich bald die Abschlussarbeit schreibe und das auch drankommen kann (die arbeit hatte ich auch mit einer 2 verhauen
, sonst nur 1en, aber das hatte in dem test nicht geklappt).
ANMERKUNG: eig. fängt man ja bei array beim 0. Index an, ich fange hier bei 1 an, damit ich keinen Laufzeitfehler bekomme, da er sonst einen Laufzetfehler für -1 ausgibt, da er ja nur Nullen anzeigt. (Zeile 11, 17, 36)
Ein weiteres Problem: Er liest aufeinmal nur noch 2 Zahlen ein, gibt aber 3 Nullen aus. Ist vlt. nur eine Kleiniglkeit, aber ich seh sie gerad nicht^^
Danke im Voraus!
Hier der Quellcode im Zusammenhang:
vorab möchte ich mich kurz vorstellen, da ich hier nun neu bin. Ich bin Marcel Röpkes, 17 Jahre alt und wohne in der Nähe von Aurich (Ostfriesland).
Ich besuche zur Zeit die einjährige Berufsfachschule Wirtschaft Schwerpunkt Informatik (BBS1 Leer), die mein 1. Lehrjahr bildet für meine Ausbildung zum FISI, die ich nun am 1. September im VW-Werk in Emden antrete. In der Freizeit beschäftige ich mich im Fitness-Center, mit meinem PC und meiner Entwicklungsumgebung für Java
Nun zu meinem Problem: Wir hatten nun das Thema Arrays in der Schule (sind aktuell bei Klassen und externen Methoden etc. ) und wir haben vor den Osterferien eine Arbeit in Java geschrieben. Diese Aufgabe beinhaltete, dass ein Programm solange Zahlen einlesen sollte, bis 3 Zahlen eingegeben wurden, die durch 7 teilbar sind(Zeile 22), nur diese sollen im Array abgelegt werden und nach jeder Eingabe sollte eine Meldung erfolgen (z.B. wurde gespeichert / wurde nicht gespeichert). Ferner soll ein "nochmal" ausgegeben werden, wenn eine Zahl der direkt vorangegangenen gleicht.(Zeile 38-45) (z.B. gebe ich zweimal hintereinander 28 ein, dann sollte da stehen:
28
nochmal 28 )
Rein funktional hab ich das nun auch soweit mit einer for-schleife. Das Problem ist, dass ich ja in der For-Schleife ein If-else Konstrukt habe, und wenn ich gegen Ende des Programms die Zahlen ausgeben möchte, dann werden nur Nullen ausgegeben. Das lässt mich darauf schließen, dass nichts in dem Array abgelegt wird. Ich lese die Zahl in einen Zwischenspeicher ab und packe sie, wenn sie durch 7 teilbar ist, in das array(Zeile 26) Ansonsten wird die Speichervariable überschrieben und die Laufvariable durch "a--" zurückgesetzt (Zeile 31) . Könnt ihr mir sagen, wo das Ausgabeproblem liegt?
Wäre euch sehr dankbar, da ich bald die Abschlussarbeit schreibe und das auch drankommen kann (die arbeit hatte ich auch mit einer 2 verhauen
ANMERKUNG: eig. fängt man ja bei array beim 0. Index an, ich fange hier bei 1 an, damit ich keinen Laufzeitfehler bekomme, da er sonst einen Laufzetfehler für -1 ausgibt, da er ja nur Nullen anzeigt. (Zeile 11, 17, 36)
Ein weiteres Problem: Er liest aufeinmal nur noch 2 Zahlen ein, gibt aber 3 Nullen aus. Ist vlt. nur eine Kleiniglkeit, aber ich seh sie gerad nicht^^
Danke im Voraus!
Hier der Quellcode im Zusammenhang:
Java:
import java.io.*;
public class Test
{
public static void main(String argv[]) throws IOException
{
int zahl;
int array [];
int a;
String eingabe;
final int ANZAHL;
ANZAHL=4;
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
array = new int [ANZAHL];
for(a=1;a<ANZAHL;a++)
{
System.out.print("Bitte geben Sie eine Zahl ein: ");
eingabe = input.readLine();
zahl = Integer.parseInt(eingabe);
if(zahl % 7 == 0)
{
System.out.println("Die Zahl wird abgespeichert, da durch 7 teilbar");
zahl = array[a];
a++;
}
else
{
System.out.println("Die Zahl wird nicht abgespeichert");
a--;
}
System.out.println();
}
for(a=1;a<ANZAHL;a++)
{
if(array[a] == array[a-1])
{
System.out.println("nochmal "+array[a]);
}
else
{
System.out.println(array[a]);
}
}
}
}