为了账号安全,请及时绑定邮箱和手机立即绑定

Java 多字符串返回

Java 多字符串返回

隔江千里 2021-08-04 10:22:37
我正在尝试解决我正在学习的课程的练习。我需要创建一个函数来创建一个输入数组并返回最小值和最大值。这是我的简单代码(非常基本):static String createVect(){    Scanner input = new Scanner(System.in);    System.out.print("Number of elements: ");    int n = input.nextInt();    int vector[] = new int[n];          for (int i = 0; i < n; i++)    {        System.out.print("Valor " + (i+1) + ": ");        vector[i] = input.nextInt();    }                   int min = Arrays.stream(vector).min().getAsInt();    int max = Arrays.stream(vector).max().getAsInt();           System.out.println("Min: " + min);    System.out.println("Max: " + max);    return Arrays.toString(vector); }public static void main(String[] args){    System.out.println(createVect());   }它工作正常,但我想用返回值替换 System.out.print,但我不确定是否应该封装它们或为最小值和最大值创建其他函数。谢谢您的帮助。
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

您可能对该summaryStatistics()方法感兴趣。您的方法可以返回一个实例IntSummaryStatistics来携带最小值和最大值(以及其他信息)。至少,您可以使用该方法来避免对数组进行多次传递:


IntSummaryStatistics stats = IntStream.of(vector).summaryStatistics();

System.out.printf("Min: %d%n", stats.getMinimum());

System.out.printf("Max: %d%n", stats.getMaximum());

对于私有实现,以这种方式使用数组既快速又简单。但是对于公共 API 来说,这对客户端来说很不方便且容易出错,并且会引入维护陷阱。


查看完整回答
反对 回复 2021-08-04
  • 3 回答
  • 0 关注
  • 193 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信