Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Arrays » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Arrays
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
SarahK
unregistriert
Arrays Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hi Leute,

ich fange in der Vorlesung gerade mit Arrays an und hänge jetzt schon an der ersten Übungsaufgabe fest.

Die Aufgabe:

Schreiben Sie ein Programm, das für ein gegebenes Datum bestehend aus Tag und Monat ausrechnet,
in der wievielten Woche des Jahres das Datum liegt. (Nehmen Sie der Einfachheit halber an, dass
es sich um kein Schaltjahr handelt und das Jahr mit dem Tag anfängt, mit dem auch die Woche beginnt.
Es liegt also genau eine komplette Woche zu Beginn des Jahres.)
Anders als in einer vorherigen Übungsaufgabe sollen Sie die Lösung aber ohne switch-Anweisung,
dafür aber mit einem 12-elementigen Array, das Sie mit der Anzahl der Tage jeweils eines Monat initialisiert
haben, lösen:
int[] arr = {31,28,31,30,31,30,31,31,30,31,30,31};

Meine Ideen:
Soderle, ich habe mir natürlich so meine Gedanken über die Aufgabe gemacht und diese auch schon mit der switch-Anweisung gelöst. Aber wie schaffe ich es jetzt, dass diese Aufgabe läuft?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
{
	public static void main (String[]args)
	{
			
		int[] arr = new int [31];
		arr[0]= 31; 
		arr[1] = 28;
		arr[2]= 31; 
		arr[3] = 30;
		arr[4]= 31; 
		arr[5] = 30;
		arr[6]= 31; 
		arr[7] = 31;
		arr[8]= 30; 
		arr[9] = 31;
		arr[10]= 30; 
		arr[11] = 31;

	int sum = 0;
	for (int i = 0; i<arr.length; i++)
	sum += arr[i]; 
	System.out.println (sum);

	}
}


Ich weiß, dass das Programm nichts mit der Aufgabenstellung zu tun hat, allerdings wollte ich schon einmal erste Schritte mit Arrays wagen :-)



Vielen Dank für Eure Hilfe.
22.11.2014 12:30
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Da du nur 12 Monate hast, reicht int[] arr = new int [12];.
Wie du das Array in einer Zeile initialisieren kannst, steht übrigens in der Aufgabenstellung.

Sollst du als Editor Proton verwenden? Wenn ja, bist du glaube ich mit michi in einem Kurs. Vielleicht hilft dir, was ich ihm geschrieben habe. Du musst eben noch über die vorangegangenen Monate summieren, da dein Array etwas anders aussieht, als ich es vorgeschlagen hatte.

__________________
Syntax Highlighting fürs Board (Link)
22.11.2014 13:36 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey Leute,

SarahK kenne ich leider nicht :-) Aber ich würde mich gerne zu diesem Thema einklinken.

Ist es eigentlich möglich nur einen Teil der Arrays anzusprechen?

Hier ein Beispiel wie ich es meine:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
/*Test*/
public class Test
{
public static void main (String[]args)
	{
	int [] zahlen = {2,3,4,5,6,7,8};
	
	}
}


Zum Beispiel, dass ich jetzt nur die ersten 3 Zahlen addieren kann?


Vielen Dank für Eure Hilfe :-)
25.11.2014 21:58
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

In Java kriegst du das nur hin, indem du die Werte einzeln ansprichst:
int sum = zahlen[0] + zahlen[1] + zahlen[2];
kann man auch mit einer Schleife kombinieren:
int sum = 0;
for(int i = 0; i < 3; i++)
sum += zahlen[i];

in C# hast du noch ein paar mehr Möglichkeiten:
int sum = zahlen.Take(3).Sum(); //ungetestet, wenn du nicht beim ersten Eintrag starten willst, gibt es noch Skip()

__________________
Syntax Highlighting fürs Board (Link)
26.11.2014 07:16 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für die Antwort smile
26.11.2014 14:30
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Arrays