Java 多字符串返回

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


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


隔江千里
浏览 194回答 3
3回答

江户川乱折腾

您可能对该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 来说,这对客户端来说很不方便且容易出错,并且会引入维护陷阱。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java