Array hilfe

Servus liebe Gemeinde =)

Derzeit muss ich mich aus schulischen Gründen ein bisschen mit Java rumschlagen und habe ein Problem bei dem ich nicht weiterkomme :frowning:

Und zwar geht es darum:
a) ein Menü zu erstellen, welches einem Benutzer erlaubt 2 Funktionen aufzurufen und das Programm mit 0 zu beenden.

b) Die erste Funktion besteht darin ein Array von 1-10 zu erzeugen. Danach soll der Benutzer eine Zahl eingeben. Ab dieser Zahl rechnet er dann alle Zahlen zusammen, also zb Eingabe 4 dann rechnet er 4+5+6+7+8+9+10.
Danach soll er das Ergebnis ausgeben aber ich soll darauf achten das der Benutzer auch eine Zahl eingeben kann, die garnicht im Array enthalten ist. Also darf die Eingabe wohl nicht größer als 10 sein ?

c) Wenn der Benutzer zb 2 und 3 eingegeben hat, rechnet er 2+2+2 und gibt das Ergebnis aus.

Also Punkt a) und das Erstellen des Arrays aus Punkt b) habe ich noch hinbekommen, ebenso die Eingabe. Nur leider addiert er bei mir immer den gesamten Arrayinhalt (10) auf den Wert den ich eingebe oder es kommt irgendwie nicht das raus, was rauskommen sollte ^^
Punkt c) dürfte ja vom erstellen des Arrays und der Eingabe her genau so verlaufen wie Punkt b). Also liegt mein größtest Problem bei der if Anwendung und for Schleife.

Ich hoffe das mir jemand helfen kann oder einen Tipp geben kann =)

MfG Stag

Sry hab den Code ganz vergessen den ich bisher habe ^^ hier ist er =)

import java.io.*;

public class ArrayTesten7
{
public static void main(String args[])throws IOException
{
int auswahl;

Funktion f1 = new Funktion();

BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));

do
{
System.out.println("\nServus, viel Spass mit dem Programm");
System.out.println("\nDruecken Sie die 1 um eine Startposition fuer ein Array festzulegen");
System.out.println(„malnehmen“);
System.out.println(„Druecken Sie die 3 um zu rofln“);
System.out.println(„Druecken Sie die 4 um zu loln“);
System.out.println(„Mit 0 können Sie das Programm verlassen“);

auswahl = Integer.parseInt(eingabe.readLine());

switch(auswahl)
{
case 1:
f1.anzeigenAddi();
break;
case 2:

break;
case 3:
break;
case 4:
break;
default:
auswahl=0;
}
}
while(auswahl !=0);

}
}

class Funktion
{
int Ergebnis;
int zahlen[] = new int [10];
int a;
int b;

BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));

public void anzeigenAddi()throws IOException
{
System.out.println(„Geben sie einen Startwert ein“);
b = Integer.parseInt(eingabe.readLine());

for(int i = 0; i a);
{
System.out.println(„Ungültige Zahl“);
}
}
}
}

schon das if dinge klappt irgendwie nicht ?_?

Hallo,

pre-Tags machen Quellcode deutlich lesbarer.

b = Integer.parseInt(eingabe.readLine());

for(int i = 0; i a);
 {
 System.out.println("Ungültige Zahl");
 }
}

b ist die Benutzereingabe, a wurde nicht initialisiert, ist also 0, daher wäre b in den meisten Fällen > a. Spielt aber keine Rolle, die if abfrage zeigt ohnehin keine Wirkung, da darf kein Semikolon dahinter, sonst wird der nachfolgende Block immer ausgeführt.

Davon abgesehen scheinst du irgendwie das initialisieren des Arrays und die Berechnung zu vermischen, du sollst doch erst ein Array mit den Werten von 1-10 initialisieren und erst dann eine Berechnung mit diesen Werten abhängig von der Benutzereingabe starten. Für die Initialisierung kann man auch eine Schleife benutzen, geht aber auch direkt

int zahlen[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

Zum Bilden der Summe brauchst du dann eine Schleife die über geeignete Start und Endwerte die entsprechenden Array-Werte einer Summen-Variablen hinzuaddiert.

HTH
Heavy

Ganz einfache sache…

Du hast ja gesagt das bis zur eingabe alles klappt. diese eingabe musst du jetzt in einer variable speichern. Zb.

wenn der user jetzt 4 eintippt

int zahlen []= [1,2,3,4,5,6,7,8,9,10]
int a = (dass was du auch immer als eintippt command machst in diesem fall hat er ja eingetippt 4)

dann der loop.
das a machste jez da rein weil da sagst du ihm ja wo er anfangen soll

for ( int x = a; x