当前位置: 首页 > 知识库问答 >
问题:

我写了一个代码,从数组中找到最小的数字,但它没有给出正确的输出

百里修真
2023-03-14

下面是我的代码:

import java.util.*;

class minmax{
public static int getSmallest(int[] a, int n){
    Arrays.sort(a);
    return a[0];
}
public static void main(String args[]){
    
    int[] a = new int[20];
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    
    System.out.println("Enter Array Elements: ");
    for(int i=1; i < n ;i++){
        a[i] = sc.nextInt();
    }
    System.out.println("Smallest: "+getSmallest(a,n));  
}
}

输出:输出:显示最小数字0

共有1个答案

夏骞尧
2023-03-14

首先,在获取数组元素输入的循环中,您没有从0迭代到n

其次,数组的大小固定为20,作为int[],因此数组的所有值都设置为0。因此,一旦用All elements>0n<20对数组进行排序,那么0将是数组中最小的元素。

    public static int getSmallest(int[] a, int n){
        Arrays.sort(a);
        return a[0];
    }

    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int[] a = new int[n]; // Create an array of only N elements
        System.out.println("Enter Array Elements: ");
        for(int i=0; i < n ;i++){ // Start from 0
            a[i] = sc.nextInt();
        }
        System.out.println("Smallest: "+getSmallest(a,n));
    }
 类似资料:
  • 我正在尝试解决一个leetcode类型问题,这是一个实践问题,它伴随着即将到来的代码测试,我需要为工作做一个,我遇到了麻烦。任何人都可以帮助我了解出了什么问题? 我基本上是在寻找暴力选项,因为我不知道algos/DS。 编写一个函数: 功能溶液(A); 给定一个包含 N 个整数的数组 A,返回 A 中未出现的最小正整数(大于 0)。 例如,给定A = [1,3,6,4,1,2],函数应该返回5。

  • 本文向大家介绍写一个函数找出给定数组中的最大差值相关面试题,主要包含被问及写一个函数找出给定数组中的最大差值时的应答技巧和注意事项,需要的朋友参考一下 function getMax(arr){ for(let i=arr[arr.length-1];i>0;i--){ for(let j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ let temp

  • 我正处于学习Java的开始阶段,并且有一个作业正在为我提供一些困难(我假设实际上并不困难)。 说明如下: “在一个名为MathCompations的类中,编写一个名为findMin的方法,该方法接受三个整数作为参数并返回三个值中最小的一个。例如,调用findMin(1,10,-1)将返回-1。您必须使用Math类min函数(它只接受2个参数)。在类中编写一个主方法,调用findMin(5,7,3)

  • 我只能给出一个强力解决方案,即以O(nlogn)时间复杂度对数组进行排序,并取最后100个数字。 面试官在寻找一个更好的时间复杂性,我尝试了几个其他的解决方案,但都没能回答他。有更好的时间复杂性解决方案吗?

  • 我想用一个2D数组找到方差和标准差,我做了程序,但输出是不正确的。请帮助我,我应该做什么/修改它,以获得请求输出。 输入 3 4 1 0 1 1 1 1 1 1 1 1 1 解决方案输出 0.07513148009038192 0.27410122234383033 预期产出 0.0764 0.2764 我的程序:

  • 本文向大家介绍手写代码:一个数组找出重复的元素相关面试题,主要包含被问及手写代码:一个数组找出重复的元素时的应答技巧和注意事项,需要的朋友参考一下 参考回答: function duplicates(arr) { //声明两个数组,a数组用来存放结果,b数组用来存放arr中每个元素的个数 var a = [],b = []; //遍历arr,如果以arr中元素为下标的的b元素已存在,则该b元素加1