【问题标题】:Java array help (fixed)Java 数组帮助(固定)
【发布时间】:2014-04-14 02:14:08
【问题描述】:

我早些时候发布了一个问题,但没有尝试,因为我很迷茫。我尝试了一下,并使用谷歌完成了一些工作。以下是问题:

--

编写一个方法 sumWithoutSmallest 计算一个数组的总和,除了最小的一个,在一个循环中,更新总和和最小值。在循环之后,返回差值。

在上一个问题中添加一个方法 removeMin 来删除最低分数。

提示用户输入你的数组的大小,然后使用随机数生成器生成不同的整数来初始化你的数组。

--

这是我所拥有的:

--

 public class Test {

        public static void main(String[] args)
        {
            sumWithoutSmallest();
        }
        public static int sumWithoutSmallest()
        {  
            int numbers[] = {1,2,3,4,5,6,7,8,9,10};
            int smallestNum = Integer.MAX_VALUE;
            int sum = 0; 
            for (int i : numbers) 
            { 
                if(smallestNum > i)
                smallestNum = i; 
                sum=sum+i;
            } 
            sum=sum-smallestNum;
            System.out.println(sum); 
            return sum - smallestNum; 
        }
    }

--

我被困在第二个问题上。我如何理解它,它要求我删除具有最低值的元素,但甚至可以这样做吗?谢谢

【问题讨论】:

    标签: java arrays loops random


    【解决方案1】:

    只需创建一个新数组。顺便说一句,也发布了另一种写第一个问题的方法。

    int []numbers = {1,2,3,4,5,6,7,8,9,10};
    int smallest = numbers[0];
    int sum = 0;
    
    // Find smallest
    for (int i = 0; i < numbers.length; i++) {
        sum += numbers[i];
    
        if (numbers[i] < smallest) {
            smallest = numbers[i];
        }   
    }
    int sumWithoutSmallest = sum - smallest;
    
    // Remove smallest
    int [numbers.length - 1]numbersWithoutSmallest = new int[numbers.length - 1];
    int index = 0;
    for (int i = 0; i < numbers.length; i++) {
        if (numbers[i] != smallest) {
            numbersWithoutSmallest[index++] = numbers[i];
        }
    }
    

    顺便说一句,如果数组中有多个最小值,您的问题没有说明应该做什么。我的建议将简单地忽略与最低值匹配的所有值,因此如果 2 最低并且有两个 2,则不会添加它们。

    【讨论】:

    • 我在 int [numbers.length - 1]numbersWithoutSmallest = new int[numbers.length - 1]; 这一行遇到语法错误
    猜你喜欢
    • 2011-08-02
    • 2014-01-15
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多