Angenommen, ich habe eine arithmetische Funktion, die zwei long
Variablen hinzufügt und einen long
Wert zurückgibt. Wenn sie Long.MaxValue()
als Argument übergeben, wird es kein perfektes Ergebnis geben. Was wird die Lösung dafür sein? Der Code unten erklärt, was ich meine:Arithmatic Operation in Java
public class ArithmaticExample {
public static void main(String[] args) {
System.out.println(ArithmaticExample.addLong(Long.MAX_VALUE, Long.MAX_VALUE));
}
public static long addLong(long a,long b){
return a+b;
}
}
* "Was wird die Lösung dafür sein?" * Die Lösung für was? 'lang' hat eine Reichweite. Wenn Sie 'Long.MAX_VALUE' zu sich selbst hinzufügen, überschreiten Sie diesen Bereich und wickeln ihn um. Damit? (Ich würde wahrscheinlich woanders nach Arbeit suchen, es sei denn, der Interviewer hätte eine bessere Frage als diese.) –
Was ist das erwartete Ergebnis? Gute Lösungen sind "Überlauf" (das ist schon passiert), "sättigen", "erweitern" (obwohl es kein breiteres primitives gibt, müsstest du zu BigInteger gehen) und "Fehler raus". – Thilo