伪代码java数组

时间:2017-01-11 14:11:27

标签: java pseudocode

我有一个用Java实现的伪代码,但是我做错了,这是我的任务和迄今为止所做的:

  • 伪代码:
  

Algoritm ArrayMax(arr)

     

输入:大小为n> 0的1-D数值阵列Arr。

     
      
  1. 让CurrentMax = Arr ^ 0

  2.   
  3. 对于i = 1到n-1

  4.   
  5. 如果Arr ^ i> CurrentMax然后CurrentMax = Arr ^ i

  6.   
  7. 结束

  8.         

    输出:CurrentMax,Arr中的最大值

  • 说明:
  

我们将实施和测试算法ArrayMax(arr)

     

以下代码段可用作您工作的基础

public static void main(String args[]){
    double arr[]= {1,-6.3,9000,1.1,0.0,-456,6,23,-451.88};
    System.out.println(ArrayMax(arr));
}

public static double ArrayMax(double arr[]){
    double CurrentMax = arr[0];
    // Complete the algorithm here...
    return(CurrentMax);
}
     

在许多不同的输入数据集上测试您的工作。

     

最后创建一个与ArrayList

一起使用的程序的新版本

这就是我所做的:

import java.util.Scanner;

public class CS1702_65 {

    public static double ArrayMax(double arr[]){
        double CurrentMax = arr[0];
        for(i = 1;i<n-1;i++)
        {
            if (arr[i] > CurrentMax){
                CurrentMax = arr[i];
            }

        }
        return(CurrentMax);
    }

    public static void main(String args[]){

        //Scanner input = new Scanner(System.in);
       // System.out.print("Enter a 1D numerical array Arr of size n>0:     ");
       // int x = input.nextInt();

        double arr[]= {1,-6.3,9000,1.1,0.0,-456,6,23,-451.88};
        System.out.println(ArrayMax(arr));
    }

}

2 个答案:

答案 0 :(得分:1)

您的ArrayMax实现不好,您忘记了初始变量&#34; i&#34;和&#34; n&#34;。 在这里你有正确的功能:

    public static double ArrayMax(double arr[]){
      double CurrentMax = arr[0];
      int n = arr.length;
      for(int i = 1;i<n;i++){
         if (arr[i] > CurrentMax){
            CurrentMax = arr[i];
         }
      }
      return CurrentMax;
    }

答案 1 :(得分:0)

public static <T extends Comparable<T>> T maxOfArray(T[] arr){
    if (arr != null && arr.length > 0) {
        T max = arr[0];
        for (int index = 1; index < arr.length; index++) {
            if (max.compareTo(arr[index]) < 0) {
                max = arr[index];
            }
        }
        return max;
    }
    return null;
}

public static void main(String[] args) {
    final Double maxOfArray = maxOfArray(new Double[]{1D, 1.1, 3D});
    System.out.println("maxOfArray = " + maxOfArray);
}