就是一个输出数组所有元素以及最大值和最小值的程序,在最后的main中出了问题。
刚刚接触java,对面向对象很不了解,还在把它当C用。这段代码也是看着例子照猫画虎写的。import java.util.Scanner;public class MaxAndMinOfInt 
{
private int [] numbers;
private int len;
public  MaxAndMinOfInt(Scanner ipt)
{
int k=ipt.nextInt();
this.numbers=new int[k];
for(int i=0;i<k;i++)
{
numbers[i]=ipt.nextInt();
}
len=numbers.length;
}
public void showAll()
{
for(int i=0;i<len;i++)
{
System.out.printf("numbers[%d]=%d\n",i,numbers[i]);
}
}
public int max()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]>tmp)tmp=numbers[i];
}
return tmp;
}
public int min()
{
int tmp=numbers[0];
for(int i=0;i<len;i++)
{
if(numbers[i]<tmp)tmp=numbers[i];
}
return tmp;
}
public void main(String [] args)
{
Scanner kbScanner=new Scanner(System.in);
MaxMinOfInt array=new MaxMinOfInt(kbScanner);//此处提示类型不对
array.showAll();
System.out.printf("最小値=%d\n", array.min());
System.out.printf("最大値=%d\n", array.max());
}
}

解决方案 »

  1.   

    MaxMinOfInt与MaxAndMinOfInt是什么关系?
      

  2.   

    MaxMinOfInt array=new MaxMinOfInt(kbScanner);//此处提示类型不对 红色部分改为: MaxAndMinOfInt 
      

  3.   

    package com.yeezoo.tour.admin.action;
    import java.util.Scanner;public class MaxAndMinOfInt 

        private int [] numbers; 
        private int len;    public MaxAndMinOfInt(Scanner ipt) { 
           int k=ipt.nextInt(); 
           this.numbers=new int[k]; 
           for(int i=0;i <k;i++){ 
              numbers[i]=ipt.nextInt(); 
           } 
           len=numbers.length; 
        }
        
        public void showAll(){ 
         System.out.println(len+"---------");
           for(int i=0;i <len;i++){ 
               System.out.printf("numbers[%d]=%d\n",i,numbers[i]); 
           } 
        }
        
        public int max(){ 
           int tmp=numbers[0]; 
           for(int i=0;i <len;i++){ 
              if(numbers[i]>tmp)tmp=numbers[i]; 
           } 
           return tmp; 
        }
        
        public int min(){ 
           int tmp=numbers[0]; 
           for(int i=0;i <len;i++){ 
              if(numbers[i] <tmp)tmp=numbers[i]; 
           } 
           return tmp; 
        }
        
        public static void main(String[] args){
             try {
              System.out.println("请输入数组数量: ");
     Scanner kbScanner = new Scanner(System.in); 
     MaxAndMinOfInt array = new MaxAndMinOfInt(kbScanner);//此处提示类型不对  
     array.showAll(); 
     System.out.printf("最小値=%d\n", array.min()); 
     System.out.printf("最大値=%d\n", array.max());
    } catch (RuntimeException e) {
    e.printStackTrace();

        } 

      

  4.   

    果然是,细节问题啊
    不过改过来之后问题还有,这回是在编辑器中不提示错误,但运行时出现以下提示,似乎程序本身有问题
    ---------------------------
    Java Virtual Machine Launcher
    ---------------------------
    Fatal exception occurred.  Program will exit.
    ---------------------------
    OK   
    ---------------------------
    刚才没注意格式,把代码重贴一遍:import java.util.Scanner;public class MaxAndMinOfInt 
    {
    private int [] numbers;
    private int len;
    public  MaxAndMinOfInt(Scanner ipt)
    {
    int k=ipt.nextInt();
    this.numbers=new int[k];
    for(int i=0;i<k;i++)
    {
    numbers[i]=ipt.nextInt();
    }
    len=numbers.length;
    }
    public void showAll()
    {
    for(int i=0;i<len;i++)
    {
    System.out.printf("numbers[%d]=%d\n",i,numbers[i]);
    }
    }
    public int max()
    {
    int tmp=numbers[0];
    for(int i=0;i<len;i++)
    {
    if(numbers[i]>tmp)tmp=numbers[i];
    }
    return tmp;
    }
    public int min()
    {
    int tmp=numbers[0];
    for(int i=0;i<len;i++)
    {
    if(numbers[i]<tmp)tmp=numbers[i];
    }
    return tmp;
    }
    public void main(String [] args)
    {
    Scanner kbScanner=new Scanner(System.in);
    MaxAndMinOfInt array=new MaxAndMinOfInt(kbScanner);
    array.showAll();
    System.out.printf("最小値=%d\n", array.min());
    System.out.printf("最大値=%d\n", array.max());
    }
    }
      

  5.   

    public static void main(String [] args)