Integer hhmm addieren

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Hi,

ich habe ein Integer-Array, welches Stunden im Format "Stunde Stunde Minute Minute" speichert. Also 150 wäre 1 Stunde, 50 Minuten, -20 wäre - 20 Minuten, 210 wäre 2 Stunden 10 Minuten, ...

Jetzt würde ich gerne alle Werte zusammenzählen und ein Endergebnis bekommen. Bei den Werten

125, -215, 100, 15, 40, -10

wäre das z. B.

125 + (-215) = -50
-50 + 100 = 10
10 + 15 = 25
25 + 40 = 105
105 + (-10) = 55

Dazu habe ich mir folgende Methode geschrieben:

Code:
public int sum(int[] w) {

   int sum = 0;
   for (int i = 0; i < w.length; i++) {
      sum += (w[i] / 100 * 60) + (w[i] % 100);
   }
   sum = (sum / 60 * 100) + (sum % 60);
   return sum;
}

Erscheint mir aber ein bisschen viel hin- und her gerechne. Fällt jemanden da evtl. ein besserer Lösungsansatz an?

Danke!
 

schalentier

Gesperrter Benutzer
Kommt drauf an was du mit dem komischen Array so machst. Wenn du einiges rechnen willst, mach ein zweites Array und pack dort die richtigen Minuten rein und rechne damit. Dann brauchste nur 2 Methoden zum umwandeln "komisches Zeitformat" <-> "Minuten". So taet ich das tun.
 
S

SlaterB

Gast
Code:
public class Test
{

    public static void main(String[] args)
        throws Exception
    {

        int[] w = new int[]
            {125, -215, 200, 15, 40, -10};
        int sum = 0;
        for (int i = 0; i < w.length; i++)
        {
            sum += (w[i] / 100 * 60) + (w[i] % 100);
        }
        sum = (sum / 60 * 100) + (sum % 60);
        System.out.println(sum);


        int sum2 = 0;
        int sum3 = 0;
        for (int i = 0; i < w.length; i++)
        {
            sum2 += w[i] / 100;
            sum3 += w[i] % 100;
        }
        sum = sum2 * 100 + sum3;
        System.out.println(sum + ", " + sum2 + ", " + sum3);

        sum2 = 0;
        sum3 = 0;
        for (int i = 0; i < w.length; i++)
        {
            int min = w[i] % 100;
            sum2 += w[i] - min;
            sum3 += min;
        }
        sum = sum2 + sum3;
        System.out.println(sum + ", " + sum2 + ", " + sum3);


    }
}
 

Ariol

Top Contributor
Wie ist das? (Nicht getestet :bae: )

Code:
public int sum(int[] w) {

   int sumh = 0;
   int summ = 0;
   for (int i = 0; i < w.length; i++) {
      sumh += w[i] /100;
      summ += w[i]-Math.abs(sumh);
   }
   return sumh*60+summ;
}
 
G

Guest

Gast
Hää? Warum nicht einfach
Code:
public int sum(int[] w) { 
   int sum = 0; 
   for (int i : w) { 
      sum += i; 
   } 
   return sum; 
}
???:L
 

Ariol

Top Contributor
SlaterB hat gesagt.:
ziemlich riesiger Blödsinn ;)

Im Math.abs fehlt ja auch noch ein *100;

Code:
public int sum(int[] w) {

   int sumh = 0;
   int summ = 0;
   for (int i = 0; i < w.length; i++) {
      sumh += w[i] /100;
      summ += w[i]-Math.abs(sumh*100);
   }
   return sumh*60+summ;
}
 

Ariol

Top Contributor
oder so als mini (diesmal hab ich's auch ausprobiert):
Code:
public static int sum(int[] w)
	{
		int sum = 0;
		for (int i : w)sum += ((int)i / 100) * 60 + i % 100;
		return sum;
	}
 
G

Guest

Gast
Anonymous hat gesagt.:
Hää? Warum nicht einfach
Code:
public int sum(int[] w) { 
   int sum = 0; 
   for (int i : w) { 
      sum += i; 
   } 
   return sum; 
}
???:L
Ätsch, OK, das sind nicht einfach nur Minuten, sondern die Hunderter repräsentieren Stunden. Vergiss es. :autsch: :oops:
 

Ariol

Top Contributor
Wie wärs denn damit als Alternative zum int-Array?

Code:
public class Time
{
	private int	time = 0;

	public Time(int time)
	{
		setTime(time);
	}
	
	public int getTime()
	{
		return time;
	}
	
	public void setTime(int time)
	{
		this.time = time;
	}
	
	public int getHours()
	{
		return time / 100;
	}
	
	public int getMinutes()
	{
		return time % 100; 
	}
	
	public int getTotalMinutes()
	{
		return getHours()*60+getMinutes();
	}
}
 

The_S

Top Contributor
@Ariol

da haste dir ja mal richtig mühe gegeben ;) . Die Alternative zum int-Array fällt weg, da ich nicht wirklich mit einem int-Array arbeite, sondern mit einer eigenen Klasse. Habs nur der Einfachkeit halber als int-array dargestellt. Deine (scheinbar funktionierende ;) ) Methode schau ich mir dann mal an.

Danke @ all
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MCDragon IDEA IntelliJ Integer Number Too Long - Help Allgemeine Java-Themen 1
mrStudent The method append is not applicable for the arguments (Queue<Integer>, Queue<Integer>) Allgemeine Java-Themen 4
O JSON in Integer parsen Allgemeine Java-Themen 5
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
D Integer-Array variabler Größe mit Zahlen befüllen (Schleifen) Allgemeine Java-Themen 0
J Mit Lombok Integer Range prüfen Allgemeine Java-Themen 6
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
R Datentypen Korrekte integer in Hex ASCII Konvertierung und serialisierung Allgemeine Java-Themen 1
B List<Integer> ist List<Double> ? Allgemeine Java-Themen 6
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
J Eine bestimmte Zahl im Integer ändern Allgemeine Java-Themen 9
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
J Transfer von Integer zwischen zwei Clients - RMI Allgemeine Java-Themen 4
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
X Integer.numberOfTrailingZeros() Allgemeine Java-Themen 1
K Array, Int expected, Integer found Allgemeine Java-Themen 5
HarleyDavidson Best Practice Integer-Zahlenfolge über mehrere Programmstarts Allgemeine Java-Themen 7
B Transferable in String/Integer umwandeln Allgemeine Java-Themen 11
K Input/Output Integer.parseInt() an Textdateien anwenden Allgemeine Java-Themen 2
D Beste Collection für Integer Allgemeine Java-Themen 4
Zettelkasten Double --> Integer Allgemeine Java-Themen 4
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
S Variablen Prüfen ob Number vom Typ Integer, Float, Double, ... ist Allgemeine Java-Themen 2
O Input/Output Textfeld: nur Integer annehmen Allgemeine Java-Themen 9
T int <-> integer, double <-> Double... Allgemeine Java-Themen 2
P JFormattedTextField für durch Semikolon getrennte Integer-Werte gesucht / Regulärer Ausdruck Allgemeine Java-Themen 3
GianaSisters Klassen ArrayList Index Integer int Allgemeine Java-Themen 5
G Datentypen JGoodies Binding und JSpinner mit Integer Allgemeine Java-Themen 2
L Problem mit Integer.parseInt Allgemeine Java-Themen 17
C Benchmark: ArrayList<Integer>, Integer[], int[] Allgemeine Java-Themen 10
Rudolf Aus Collection<Integer> eine Zahl machen Allgemeine Java-Themen 2
O Nach parse von String zu Integer verliere ich Programmablauf! Allgemeine Java-Themen 10
Z Cast von Long zu Integer funktionert nicht Allgemeine Java-Themen 3
E Zweidimensionales Array Integer[10 000][10 000] -> out of memory? Allgemeine Java-Themen 4
T Integer aus InputStream lesen Allgemeine Java-Themen 3
S String[] in Integer umwandeln Allgemeine Java-Themen 16
K Heap-Volllaufen bei ArrayList<Integer> Allgemeine Java-Themen 9
C Character in Integer Allgemeine Java-Themen 12
D Double to Integer - ist das möglich? Allgemeine Java-Themen 3
R Anführungszeichen Integer.valueOf(String).intValue(); Allgemeine Java-Themen 6
H Integer/String Allgemeine Java-Themen 9
MQue byte[] Array to Integer Allgemeine Java-Themen 4
J Mit mehrdimensionalen Integer-Arrays arbeiten Allgemeine Java-Themen 17
R Eigene ArrayList vom Typ Short, Integer oder Double Allgemeine Java-Themen 4
G erzeugen von "ArrayList<Integer>[][]" Allgemeine Java-Themen 7
M Integer.parseInt Allgemeine Java-Themen 4
G enum Integer zuweisen Allgemeine Java-Themen 14
G Integer aus String Allgemeine Java-Themen 4
X cannot convert from Object[] to Integer[] Allgemeine Java-Themen 2
B 16Bit Integer aus ByteArray im Little Endian Format Allgemeine Java-Themen 17
O java.lang.NumberFormatException für normalen integer Allgemeine Java-Themen 4
MQue Integer in String Allgemeine Java-Themen 2
G Datumswert String in Integer umwandeln Allgemeine Java-Themen 2
P Integer und Bit-operationen Allgemeine Java-Themen 21
M Java 1.4 und Integer Allgemeine Java-Themen 3
G ArrayList<String> to ArrayList<Integer Allgemeine Java-Themen 2
S Integer zu int konvertieren - JUnit Allgemeine Java-Themen 12
J Integer Array Wert vorhanden? Allgemeine Java-Themen 6
M String nach Integer und führende Nullen Allgemeine Java-Themen 6
B Plaintext Integer einlesen und verarbeiten Allgemeine Java-Themen 3
R cast Integer[] zu int[] Allgemeine Java-Themen 2
D byte nach integer? Allgemeine Java-Themen 4
MQue Object in Integer umwandeln Allgemeine Java-Themen 3
H Integer#valueOf(int) bei 1.4 Allgemeine Java-Themen 7
M Datenstrukrue, List<Map<Integer, Map<String, . Allgemeine Java-Themen 2
M Integer in String umwandeln Allgemeine Java-Themen 7
S Object nach Integer umwandeln Allgemeine Java-Themen 13
R Integer will sich nicht lesen lassen! Allgemeine Java-Themen 9
G Umwandlung Byte in Integer Allgemeine Java-Themen 12
M reflection Integer != int ? Allgemeine Java-Themen 3
P int != Integer Allgemeine Java-Themen 3
N Prüfen ob ein String in einen Integer umgewandelt werden kan Allgemeine Java-Themen 4
P Class zu Integer, String, Double etc. Allgemeine Java-Themen 11
S Integer-Zahlen in Excel-Sheet schreiben Allgemeine Java-Themen 10
T JNI: jcharArray: warning: cast to pointer from integer of. Allgemeine Java-Themen 5
R Float richtig in Integer ? Allgemeine Java-Themen 4
T Integer und TextFelder Allgemeine Java-Themen 3
S Integer-splitten für Abfrage. Allgemeine Java-Themen 4
M Index eines Arrays ermitteln und als Integer ausgeben Allgemeine Java-Themen 7
B Integer zählen bzw. speichern Allgemeine Java-Themen 3
H Array nimmt keinen in Integer konvertierten String auf! Allgemeine Java-Themen 26
H Prüfen, ob es sich um ein Integer handelt Allgemeine Java-Themen 4
J Integer.parseInt funktioniert nicht immer Allgemeine Java-Themen 3
G Nur Integer Werte in JTextField Allgemeine Java-Themen 4
V Typumwandlung Integer, Float etc in String Allgemeine Java-Themen 4
C String in Integer wandeln Allgemeine Java-Themen 17
C Aus MEHREREN Excel Tabellen bestimmte Zelle addieren Allgemeine Java-Themen 1
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
M Addieren von Listen Allgemeine Java-Themen 2
M einen Tag addieren Allgemeine Java-Themen 11
C Datum addieren Allgemeine Java-Themen 2
S Java Double addieren Allgemeine Java-Themen 3
G Anzahl an Tagen auf Datum addieren Allgemeine Java-Themen 4
G Addieren ? Allgemeine Java-Themen 6
J 28 Variablen vergleichen und die höchsten addieren Allgemeine Java-Themen 15
N Inhalte aller Txts in einem Ordner Addieren Allgemeine Java-Themen 5
S 2 TimeObjekte addieren Allgemeine Java-Themen 12

Ähnliche Java Themen


Oben