import java.util.Scanner;
class test
{ private static Scanner scanner=new Scanner(System.in);
public static void main(String[] arg)
{
int[] zhenshu;
int temp1,temp2;
zhenshu=new int[10];
for(byte i=0;i<10;i++)
{
zhenshu[i]=scanner.nextInt();
}
temp1=zhenshu[0];
for(byte i=0;i<10;i++)
{
if(zhenshu[i]<zhenshu[i+1])
temp1=zhenshu[i+1];
}
temp2=zhenshu[0];
for(byte i=0;i<10;i++)
{
if(zhenshu[i]>zhenshu[i+1])
temp2=zhenshu[i+1];
}
System.out.println(temp1);
System.out.println(temp2);
 }
}

解决方案 »

  1.   


    import java.util.Scanner;class Test1 {
    private static Scanner scanner = new Scanner(System.in); public static void main(String[] arg) {
    int[] zhenshu;
    int temp1, temp2;
    zhenshu = new int[10];
    for (byte i = 0; i < 10; i++) {
    zhenshu[i] = scanner.nextInt();
    }
    temp1 = zhenshu[0];
    for (byte i = 0; i < 9; i++) {
    if (zhenshu[i] < zhenshu[i + 1])
    temp1 = zhenshu[i + 1];
    }
    temp2 = zhenshu[0];
    for (byte i = 0; i < 9; i++) {
    if (zhenshu[i] > zhenshu[i + 1])
    temp2 = zhenshu[i + 1];
    }
    System.out.println(temp1);
    System.out.println(temp2);
    }
    }
      

  2.   

    你是要取最大值和最小值吧,for循环写的有问题,数组越界啦!我感觉改成这样比较好:for(byte i=1;i<10;i++)
    {
    if(temp1<zhenshu[i])
    temp1=zhenshu[i];
    }
    temp2=zhenshu[0];
    for(byte i=1;i<10;i++)
    {
    if(temp2>zhenshu[i])
    temp2=zhenshu[i];
    }
      

  3.   

    那个类要是公共的public,才能运行
      

  4.   

    +1
    循环的值i不能等于9,否则i+1就会为10,数据没有zhensu[10]
      

  5.   

    5楼同学,楼主的文件中只有一个类,所以可以不用写public。
    4楼,楼主的程序运行时会提示 java.lang.ArrayIndexOutOfBoundsException,也就是数组越界异常。
    3楼,楼主的程序也许本意是想取到最大值和最小值,然后输出,可是逻辑错误。因为他是每两个数依次比较,无法实现。
    不考虑实现取最大值和最小值时,代码应该如下    import java.util.Scanner;
    class Test

    private static Scanner scanner=new Scanner(System.in);
            public static void main(String[] arg) {
                     int[] zhenshu;
                     int temp1,temp2;
                     zhenshu=new int[10];
                     for(byte i=0;i<10;i++){
                             zhenshu[i]=scanner.nextInt();
                      }
                      temp1=zhenshu[0];
                       for(byte i=0;i<9;i++){//这里如果i<10,当i=9的时候,if里的判断条件是这样zhenshu[9]<zhenshu[10],数组下标是从0开始,所以会抛数组越界异常,下边一样
                              if(zhenshu[i]<zhenshu[i+1])
                                    temp1=zhenshu[i+1];
                       }
                       temp2=zhenshu[0];
                       for(byte i=0;i<9;i++){
                             if(zhenshu[i]>zhenshu[i+1])
                                    temp2=zhenshu[i+1];
                       }
                       System.out.println(temp1);
                       System.out.println(temp2);
       }
    }