arrays aufgabe hilfe

dengine

Grünschnabel
6 feldelemente davon sollen 5 ganze zahlen über tastatut eingelesen werden . (Das letzte feldelement wird als speicherplatz für die summen der zahlen freigehalten )<---********

die summe wird gebildet und im .-->letzten feldelement gespeichert<--********

-->einem speicherplatz (suche) wird über tastatur eine ganze zahl zugewiesen. es wird ermittelt ob diese zahl im feld enthalten ist oder nicht und ausgegeben wie oft diese zahl im array gefunden wurde. der kleinste der 5 eingabewerte wird ausgegeben<--********


ich hoffe ihr könnt mir dabei helfen wie ich das umsetzen soll.

mfg dengine
 
Hallo,

erstmal herzlich willkommen im Forum.
Leider muss ich dich erstmal auf unsere Netiquette verweisen und dich bitten deine Shift-Taste öfter zu nutzen und so auf deine Groß- und Kleinschreibung zu achten.

Was hast du denn bisher?

Gruß

Sascha
 
Hi,

ich glaube das macht so ziemlich, was du brauchst...
Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Dengine {

	// Wenn die 5 Zahlen als Komandozeilen-Parameter übergeben werden sollen, legen sie in 'args'
	public static void main(String[] args) {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		// int statt long, falls die Zahlen nicht besonders groß werden
		long[] array = new long[6];
		for(int i=0; i<5; i++){
			try{
				String s = reader.readLine();
				try{
					array[i] = Long.parseLong(s);
					array[5] += array[i]; // direkt Summe bilden
				}
				catch(NumberFormatException ex){
					System.err.println(s + " ist keine Ganzzahl!");
					i--; // Einlesen wiederhohlen
				}
			}
			catch(IOException ex){
				System.err.println(ex.toString());
			}
		}
		long suche;
		while(true){
			try{
				System.out.print("suche: ");
				String s = reader.readLine();
				try{
					suche = Long.parseLong(s);
					// Häufigkeit von 'suche' in 'array' zählen
					byte zaehler = 0;
					for(int i=0; i<5; i++)
						if(array[i] == suche)
							zaehler++;
					System.out.println(suche + " kommt " + zaehler + " mal vor.");
					// Kleinsten Wert ermitteln
					long min = array[1];
					for(int i=1; i<5; i++)
						if(array[i] < min)
							min = array[i];
					System.out.println("Kleinster Wert: " + min);
					break; // einmal erfolgreich eingelesen => "Endlosschleife" abbrechen
				}
				catch(NumberFormatException ex){
					System.err.println(s + " ist keine Ganzzahl!");
				}
			}
			catch(IOException ex){
				System.err.println(ex.toString());
			}
		}
	}

}
Wozu wird eigentlich die Summe im letzten array-Feld gebraucht?

javaDeveloper2011
 
Zurück