This commit is contained in:
38
public/courses/prog-intro/homeworks/sum/sumhex/SumHex.java
Normal file
38
public/courses/prog-intro/homeworks/sum/sumhex/SumHex.java
Normal file
@@ -0,0 +1,38 @@
|
||||
// SumHex.java
|
||||
|
||||
public class SumHex {
|
||||
|
||||
public static void main(String[] args) {
|
||||
int 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 long parseNumber(StringBuilder number) {
|
||||
if (!number.isEmpty()) {
|
||||
String numberString = number.toString();
|
||||
if (
|
||||
numberString.startsWith("0x") || numberString.startsWith("0X")
|
||||
) {
|
||||
return Long.parseLong(numberString.substring(2), 16);
|
||||
} else {
|
||||
return Integer.parseInt(numberString);
|
||||
}
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user