Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.text.DecimalFormat;
- import java.util.ArrayList;
- import java.util.Scanner;
- public class Problem11_WordOrNumber3_2 {
- public static void main(String[] args) {
- Scanner myScan = new Scanner(System.in);
- int n = Integer.parseInt(myScan.nextLine());
- String typePrevious = "";
- String typeCurrent = "word";
- ArrayList<Double> numbers=new ArrayList<>();
- ArrayList<String> words=new ArrayList<>();
- DecimalFormat decimalFormat = new DecimalFormat("0.##########");
- for (int i = 0; i < n; i++) {
- String text = myScan.nextLine();
- for (int j = 0; j < text.length(); j++) {
- if (Character.isDigit(text.charAt(j))) {
- typeCurrent = "number";
- break;
- }
- }
- if (typeCurrent.equals(typePrevious)) {
- if (typeCurrent.equals("number")) {
- numbers.add(Double.parseDouble(text));
- } else {
- words.add(text);
- }
- } else {
- if (typeCurrent.equals("number")) {
- System.out.println(!words.isEmpty() ? String.join("-",words):"");
- numbers.add(Double.parseDouble(text));
- words=new ArrayList<>();
- } else {
- double sum=numbers.stream().mapToDouble(value -> value).sum();
- System.out.println(sum!=0?decimalFormat.format(sum):"");
- numbers=new ArrayList<>();
- words.add(text);
- }
- }
- typePrevious = typeCurrent;
- typeCurrent = "word";
- }
- double sum=numbers.stream().mapToDouble(value -> value).sum();
- System.out.println(!words.isEmpty()
- ? String.join("-",words):sum!=0?decimalFormat.format(sum):"");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment