You are not logged in.

  • Login

1

Friday, April 8th 2011, 6:01pm

Array Aufgabe

Hallo,
Ich komme bei meiner Informatik Hausaufgabe nicht mehr weiter. Ich hänge daran, dass die Differenzen falsch ausgegeben werden(sind verrutscht) und ich nicht weiß wie ich einen Array mit den Monatsnamen machen kann.
Ich hoffe ihr könnt mir etwas helfen.
Hier erstmal die Aufgabe:
3) Auswerten von Klimadaten
a) Die folgende Tabelle zeigt die Monatsdurchschnittstemperaturen der Stadt Jakutsk (Sibirien).
Monat 1 2 3 4 5 6 7 8 9 10 11 12
Temp.-42 -35 -20 -9 4 13 18 15 6 -8 -30 -40
Mit einem Java-Programm soll nun die Jahresdurchschnittstemperatur (Summe der
Monatsdurchschnittstemperaturen dividiert durch 12) sowie für jeden Monat die Abweichung von der
Jahresdurchschnittstemperatur angegeben werden.
Die Eingabe soll wie folgt durchgeführt werden:
Geben Sie die Temperatur für den 1. Monat ein: -42
Geben Sie die Temperatur für den 2. Monat ein: -35
...
Geben Sie die Temperatur für den 12. Monat ein: -40
Die Ausgabe ist z. B.
Die Jahresdurchschnittstemperatur ist -10.67 Grad.
Der 1. Monat ist um 31.33 Grad kälter als der Durchschnitt.
Der 2. Monat ist um 24.33 Grad kälter als der Durchschnitt.
...
Ergänzung: Die Monatsnamen sollen angezeigt werden
b) Ergänze das Programm so, dass die Monatsnamen bei der Eingabe und Ausgabe als Text
ausgeschrieben werden. Weiterhin soll beim dem Text in der Ausgabe immer eine positive Zahl und
entweder kälter oder wärmer angezeigt werden.
Die Temperatur im Februar ist um 24.333333333333336 kälter als der Durchschnitt.
Die Temperatur im März ist um 9.333333333333334 kälter als der Durchschnitt.
Die Temperatur im April ist um 1.666666666666666 wärmer als der Durchschnitt.



So und hier ist das was ich bis jetzt geschrieben habe:

Java Quellcode

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Scanner;
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
              Scanner eingabe = new Scanner (System.in);
 
 
 
      int [] werte = new int [12];
 
 
         for(int i = 0; i < werte.length; i++){
            System.out.println("Wert "+(i+1)+" eingeben:");
            werte[i] = eingabe.nextInt();
 
 
      }
            int sum =0,durch;
        for(int i = 0; i<werte.length;i++){
            sum +=werte[i];
 
      }
 
     durch= sum/12;
 
      System.out.println("Temperaturdurchschnitt in Jakutsk:    "+durch);
        for(int i = 0; i < werte.length; i++){
            System.out.print(werte[i]+", ");
 
      }
      String [] mon = new String [12];
        for(int i=0; i<werte.length; i ++){
            System.out.println(werte[i]-durch+"     beträgt die Abweichung im Monat");
 
        }
 
   }
}

2

Saturday, April 9th 2011, 3:12pm

ist doch alles gut.. nur der erste wert steht bei dir in der zeile wo du alle monatswerde mit komma ausgibst
oder was meinst du mit verrutscht?

3

Sunday, April 10th 2011, 7:33pm

Ja bei der Ausgabe ist das halt verschoben. Dann noch ne Frage ich kriege es irgendwie nicht hin ein String Array zumachen und da für jeden den Monatsnamen einzutragen, könnte mit hier vllt. jemand ein Beispiel machen wie das geht?

4

Sunday, April 10th 2011, 7:45pm

dazu brauchst du eine hashmap, einfaches array hat nur nummerrische positionen.
also

Java Quellcode

1
2
3
4
Map m = new Hashmap();
m.put("Januar", -10)
m.put("febraur", -20)
...


mehr zum Thema: http://openbook.galileodesign.de/javains…40003911F01B100

Estrix

Unregistered

5

Tuesday, May 17th 2011, 2:01pm

Temperaturdurchschnitt...

//Hier haste es.

import java.util.Scanner;

public class Temperatur
{

private static int i;

public static void main(String[] args)
{
Scanner eingabe = new Scanner(System.in);

String[] Monat = { "Januar", "Februar", "März", "April", "Mai", "Juni",
"Juli", "August", "September", "Oktober", "November",
"Dezember" };

int[] werte = new int[12];
for (int i = 0; i < werte.length; i++)
{
System.out.println("Geben Sie die Temp. für den Monat "+ Monat +" ein");
werte[i] = eingabe.nextInt();
}

int sum = 0;
double durch;

for (int i = 0; i < werte.length; i++)
{
sum += werte[i];

}

durch = (double)sum / werte.length;
System.out.println("Temperaturdurchnitt in Jakutsk: " + durch);

for (int i = 0; i < werte.length; i++)
{
System.out.println(werte[i] + ",");
}

}
}
[/i][/i][/i]

uvhzuovfuwer

Unregistered

6

Tuesday, May 17th 2011, 2:18pm

antwort

import java.text.DecimalFormat;
import java.util.Scanner;

public class Wetter
{

// Wetterdaten
// (c) micha
public static void main(String[] args)
{
DecimalFormat df = new DecimalFormat("#0.00");
double summe = 0;
String[] mon = { "Jan", "Feb", "März", "April", "Mai", "Juni", "Juli",
"Aug", "Sep", "Okt", "Nov", "Dez" }; // Monate in Feld
Scanner sc = new Scanner(System.in);
System.out.println("Bitte geben Sie zwölf Temperaturen ein:\t");
double[] w = new double[12];
for (int i = 0; i < w.length; i++) // Eingabe zwölf Temperaturen
{
System.out.print("Temperatur " + mon + " :\t");
w[i] = sc.nextInt();
}
System.out.println();
// Berechnungen
for (int i = 0; i < w.length; i++)
{
summe = summe + w[i]; // Summe berechnen
}

// Ausgabe
double durch = (summe / w.length); // Durchschnitt berechnen
System.out.println("Jahresdurchschnitt ist " + df.format(durch)
+ "° Celsius.");

for (int i = 0; i < w.length; i++) // Abweichung ausgeben
{
if (w[i] < durch)
{
System.out.println("Der Monat " + mon[i] + "\t war um "
+ df.format(Math.abs(w[i] - durch)) // absolute
// Abweichung
+ "° kälter als der Durchschnitt."); // nach unten
}
else
{
System.out.println("Der Monat " + mon[i] + "\t war um "
+ df.format(Math.abs(w[i] - durch)) // absolute
// Abweichung
+ "° wärmer als der Durchschnitt.");// nach oben
}
}
}
}
[/i][/i][/i][/i][/i][/i][/i]

Similar threads

Social bookmarks