Java 多个字符串返回

标签 java

我正在尝试解决我正在学习的类(class)的练习。我需要创建一个函数来创建输入数组并返回最小值和最大值。这是我的简单代码(非常基本):

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,但我不确定是否应该封装它们或为最小值和最大值创建其他函数。感谢您的帮助。

最佳答案

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

IntSummaryStatistics stats = IntStream.of(vector).summaryStatistics();
System.out.printf("Min: %d%n", stats.getMinimum());
System.out.printf("Max: %d%n", stats.getMaximum());

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

关于Java 多个字符串返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51939114/

相关文章:

java - 在 Java 中从哪里获取 'http' 字符串文字?

java - 如何在应用程序级别管理只读数据库连接

java - 以编程方式向 URL java 添加参数

java - 数据未保存在 ArrayList 中

java - 对应于 C# 中的匿名接口(interface)实现

java - 在将 tomcat 用于 java web 应用程序的 linux 机器上,当我从 tomcat 运行应用程序时,文件/文件夹创建/修改权限被拒绝的问题

java - XML 布局问题

java - 预装 pax-jdbc-oracle 的自定义 Apache Karaf 4.0.4 发行版

java - 错误: Context cannot be converted to Executor

java - 将 IUndoableOperation 添加到我的 EditorPart 时出现上下文问题