从键盘录入一行字符串,里面有字母、整数和小数形式(如:“abc-12-ddd-15.6-28-14.4-kuf”),请计算字符串中所有整数形式字符串对应整数之和、所有小数形式字符串对应小数的平均值(采用函数定义和调用的方式)。
3条回答 默认 最新
关注示例代码如下:
public class Test { public static void main(String[] args) { System.out.println("请输入:"); Scanner scanner = new Scanner(System.in); String[] strs = scanner.nextLine().split("-"); List<Integer> nums1 = new ArrayList<>(); List<Double> nums2 = new ArrayList<>(); for (String str : strs) { try { Integer num = Integer.valueOf(str); nums1.add(num); } catch (NumberFormatException e1) { try { Double num = Double.valueOf(str); nums2.add(num); } catch (NumberFormatException ignored) { } } } System.out.println("整数和:" + nums1.stream().reduce(Integer::sum).orElse(0)); System.out.println("小数平均值:" + nums2.stream().reduce(Double::sum).orElse(0d) / nums2.size()); } }运行结果如下:
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用