добре, така im чудех как мога да чета цяло число и низ от една и съща линия? Ще дам пример: ако имам вход = 3K как мога да направя моята продукция изглежда така: 3K = 3000?
Отговори:
0 за отговор № 1String input = "3k";
String output = input.replaceAll("[Kk]", "000");
int outputAsInt = Integer.parseInt(output);
1 за отговор № 2
Започнете с разбиване на изискванията ви.
- Имате входна стойност на [number] [modifier]
- Трябва да извлечете номера от модификатора
- Трябва да приложите модификатора към номера
Ако искате променливо / гъвкаво решение, където можете да подадете какъвто и да е вид модификатор, ще трябва да определите броя на въведените от потребителя цифри и след това модификатора.
След като имате това, можете да разделите String
, превръщате цифрите в int
и прилагат съответните изчисления въз основа на модификатора ...
Scanner kb = new Scanner(System.in);
String input = kb.nextLine();
int index = 0;
while (index < input.length() && Character.isDigit(input.charAt(index))) {
index++;
}
if (index >= input.length()) {
System.out.println("Input is invaid");
} else {
String digits = input.substring(0, index);
String modifier = input.substring(index);
int value = Integer.parseInt(digits);
switch (modifier.toLowerCase()) {
case "k":
value *= 1000;
break;
//...
}
System.out.println("Expanded value = " + value);
}