麻烦给一个求出一列数组中的最大和最大数的程序。。

解决方案 »

  1.   

    是自己写算法还是使用Java API。
    自己写算法从google上查,
    使用Java API的话,可以使用java.util.Arrays,查看Java API文档有这个类的详细使用说明
      

  2.   

    用Array.sort(int[] a)排下序,取最后面得元素就是最大值了
      

  3.   

    没看懂什么叫最大最大数 按最大最小给你求的
    import java.util.*;public class Test 
    {
    public static void main(String[] args) 
    {
    int[] a ={1,4,7,2,5,8,3,6,9,10}; //假设数组里有十个数
    Arrays.sort(a); //将数组从大到小排序
    System.out.println("最小数为"+a[0]);
    System.out.println("最大数为"+a[a.length-1]);
    }
    }
      

  4.   

    import java.util.Scanner;
    public class Mmax{
    public static void main(String []args){
    int []a;
    int count;
    Scanner reader=new Scanner(System.in);
    System.out.println("要输入几个数字:");
    count=reader.nextInt();
    a=new int[count];
    for(int i=0;i<count;i++){
    a[i]=reader.nextInt();
    }
    System.out.println("输出最大数:");

    for(int i=0;i<a.length;i++){

    if(a[i]>a[i+1]){
    int temp;
    temp=a[i];
    a[i+1]=temp;
    }

    }
    System.out.println("最大值为:"+temp);
    }
    怎么这个老是说没有定义temp呢。。要如何修改呢?
      

  5.   

      arrays.sort()
      Collections.sort()
      

  6.   

    楼主 你先看看我这段代码 我是根据你的代码进行改写的 你的代码逻辑有问题 import java.util.Scanner;public class Mmax {
    public static void main(String[] args) {
    int[] a;
    int count;
    Scanner reader = new Scanner(System.in);
    System.out.println("要输入几个数字:");
    count = reader.nextInt();
    a = new int[count];
    for (int i = 0; i < count; i++) {
    System.out.println("请输入第"+(i+1)+"个数!");
    a[i] = reader.nextInt();
    }
    System.out.println("输出最大数:");
    int temp = 0;

    for (int i = 0; i < a.length-1; i++) { if (a[i] > a[i + 1]) {
    temp = a[i];
    a[i + 1] = temp;
    }else{
    temp = a[i+1];
    } }
    System.out.println("最大值为:" + temp);
    }
    }
      

  7.   

    因为你这temp是局部变量,只在for循环里存在
      

  8.   

    import java.util.Scanner;public class MaxElement { public static void main(String[] args) {
    Scanner reader = new Scanner(System.in); 
    System.out.print("请输入数组的个数:");
    int count = reader.nextInt();
    int[] array = new int[count];
    for (int i = 0; i < array.length; i++) {
    array[i] = reader.nextInt();
    }
    System.out.println("你输入的数组是:");
    for (int j = 0; j < array.length; j++) {
    System.out.print(array[j] + " ");
    }
    int temp = 0;
    for (int i = 0; i < array.length - 1; i++) {
    if (array[i] > array[i + 1]) {
    temp = array[i];
    array[i] = array[i + 1];
    array[i + 1] = temp;
    }
    }
    System.out.println("最大的数是:" + temp);

    }
    }
      

  9.   

    int max=array[0];
    for(int i=1; i<array.length;i++){
        if(array[i]>max) max=array[i];
    }或者求最大值的下标:
    int maxIndex=0;
    for(int i=1;i<array.length;i++){
      if(array[i]>array[maxIndex]) maxIndex=i;
    }
    Systme.out.println(array[maxIndex]);这是标准的求最大值的算法,怎么你们都搞那么复杂呢?还把原数组给糟蹋的乱七八糟?
      

  10.   


    int max=array[0];
    for(int i=1; i <array.length;i++){
        if(array[i]>max) max=array[i];
    } 如bigbug所说,这个效率最高,而且不改动原始数据,是比较好的方法了。