42 lines
1.2 KiB
Java
42 lines
1.2 KiB
Java
// SumDoubleHex.java
|
|
|
|
public class SumDoubleHex {
|
|
|
|
public static void main(String[] args) {
|
|
double sum = 0;
|
|
for (String argument : args) {
|
|
StringBuilder number = new StringBuilder();
|
|
for (char c : argument.toCharArray()) {
|
|
if (!Character.isWhitespace(c)) {
|
|
number.append(c);
|
|
} else {
|
|
sum += parseNumber(number);
|
|
number = new StringBuilder();
|
|
}
|
|
}
|
|
|
|
sum += parseNumber(number);
|
|
}
|
|
|
|
System.out.println(sum);
|
|
}
|
|
|
|
static double parseNumber(StringBuilder number) {
|
|
if (!number.isEmpty()) {
|
|
String numberString = number.toString();
|
|
if (
|
|
numberString.startsWith("0x") || numberString.startsWith("0X")
|
|
) {
|
|
if (numberString.contains(".")) {
|
|
return Double.parseDouble(numberString);
|
|
}
|
|
return Long.parseLong(numberString.substring(2), 16);
|
|
} else {
|
|
return Double.parseDouble(numberString);
|
|
}
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
}
|