K
KleinerStumpe
Gast
Guten Abend,
ich habe ein Problem und zwar muss ich heute noch eine Aufgabe fertig bekommen.
Es geht um die Einführung in Arrays. Die Aufgabe ist folgende:
Man soll ein Array erstellen mit 30 Feldern, es geht um Temperaturen. (1 Feld = 1 Tag von nem Monat)
Nun soll man... a) die Höchsttemperatur rausfinden bzw ausgeben lassen. (erledigt)
b) die Tiefsttemperatur rausfinden bzw ausgeben lassen. (erledigt)
c) die Durchschnittstemperatur ausgeben lassen. (erledigt)
und schließlich die Aufgabe die mir noch fehlt: d) Die 5 aufeinanderfolgende Tage die zusammen den höchsten (Temperatur-)Durchschnitt aufweisen. Ich weis theoretisch schon was ich machen muss, nämlich von i=0 aus die nächsten 5 Tage überprüfen, den Durchschnitt in einem Zwischenwert speichern und i um 1 erhöhen. Dann halt immer der höchste Durchschnitt abspeichern. Jedoch kann ich das nicht umsetzen.
Es wäre sehr nett wenn mir jemand dabei (möglichst schnell :X) helfen könnte.
Vielen Dank schonmal,
Gruß Fabian
Achja bevor ichs vergesse, hier mein Quelltext: (bitte nicht über irgendwelche formale Aspekte meckern, bin Anfänger
)
ich habe ein Problem und zwar muss ich heute noch eine Aufgabe fertig bekommen.
Es geht um die Einführung in Arrays. Die Aufgabe ist folgende:
Man soll ein Array erstellen mit 30 Feldern, es geht um Temperaturen. (1 Feld = 1 Tag von nem Monat)
Nun soll man... a) die Höchsttemperatur rausfinden bzw ausgeben lassen. (erledigt)
b) die Tiefsttemperatur rausfinden bzw ausgeben lassen. (erledigt)
c) die Durchschnittstemperatur ausgeben lassen. (erledigt)
und schließlich die Aufgabe die mir noch fehlt: d) Die 5 aufeinanderfolgende Tage die zusammen den höchsten (Temperatur-)Durchschnitt aufweisen. Ich weis theoretisch schon was ich machen muss, nämlich von i=0 aus die nächsten 5 Tage überprüfen, den Durchschnitt in einem Zwischenwert speichern und i um 1 erhöhen. Dann halt immer der höchste Durchschnitt abspeichern. Jedoch kann ich das nicht umsetzen.
Es wäre sehr nett wenn mir jemand dabei (möglichst schnell :X) helfen könnte.
Vielen Dank schonmal,
Gruß Fabian
Achja bevor ichs vergesse, hier mein Quelltext: (bitte nicht über irgendwelche formale Aspekte meckern, bin Anfänger
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.Math;
public class Temperatur extends JApplet implements ActionListener
{
private double[] temperatur;
double maximum;
double minimum;
double durchschnitt;
Button tempGenerieren;
Button hoechsteTemp;
Button tiefsteTemp;
Button avgTemp;
Button fuenfTageTemp;
Label hoch;
Label tief;
Label avg;
Label fuenf;
public void init()
{
temperatur = new double[30];
setLayout(null);
tempGenerieren = new Button("Neue Temperaturen");
tempGenerieren.setBounds(10,20,130,25);
tempGenerieren.addActionListener(this);
add(tempGenerieren);
hoechsteTemp = new Button("Hoechste Temperatur");
hoechsteTemp.setBounds(10,50,130,25);
hoechsteTemp.addActionListener(this);
add(hoechsteTemp);
tiefsteTemp = new Button("Tiefste Temperatur");
tiefsteTemp.setBounds(10,80,130,25);
tiefsteTemp.addActionListener(this);
add(tiefsteTemp);
avgTemp = new Button("Durchschnittstemperatur");
avgTemp.setBounds(10,110,130,25);
avgTemp.addActionListener(this);
add(avgTemp);
fuenfTageTemp = new Button("5-Tages-Durchschnitt");
fuenfTageTemp.setBounds(10,140,130,25);
fuenfTageTemp.addActionListener(this);
add(fuenfTageTemp);
hoch = new Label("");
hoch.setBounds(160,50,270,25);
add(hoch);
tief = new Label("");
tief.setBounds(160,80,270,25);
add(tief);
avg = new Label("");
avg.setBounds(160,110,270,25);
add(avg);
fuenf = new Label("");
fuenf.setBounds(160,140,270,25);
add(fuenf);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==tempGenerieren)
{
int i=0;
while(i<temperatur.length){
temperatur[i]=15 + (int)(Math.random()*(25-15));
i++;
}
hoch.setText("");
tief.setText("");
avg.setText("");
}
else if (e.getSource()==hoechsteTemp)
{
double maximum=temperatur[0];
int i=0;
while(i<temperatur.length){
if (temperatur[i]>maximum) {
maximum=temperatur[i];
}
i++;
}
int max = 0;
double d =maximum;
max= (int) d;
hoch.setText("Die hoechste Temperatur ist "+max+"°C.");
}
else if (e.getSource()==tiefsteTemp)
{
double minimum=temperatur[0];
int i=0;
while(i<temperatur.length){
if (temperatur[i]<minimum) {
minimum=temperatur[i];
}
i++;
}
int min = 0;
double d =minimum;
min= (int) d;
tief.setText("Die tiefste Temperatur ist "+min+"°C.");
}
else if (e.getSource()==avgTemp)
{
double summe=0;
for (int i = 0; i < temperatur.length; i++) {
summe += temperatur[i];
}
durchschnitt = summe / temperatur.length;
int durch = 0;
double d =durchschnitt;
durch= (int) d;
avg.setText("Die Durchschnittstemperatur ist "+durch+"°C.");
}
else if (e.getSource()==fuenfTageTemp)
{
}
}