package com.yahoo.junjian1989;import java.io.*;public class DogTest
{
DogArray dogArray = new DogArray(4);
dogArray.iniArray(); //报错
}class Dog
{
private String name;
private float weight;

public String getName() 
{
return name;
}

public void setName(String name)
{
this.name = name;
}

public float getWeight()
{
return weight;
}

public void setWeight(float weight)
{
this.weight = weight;
}
}class DogArray
{
private Dog[] dogs;

//设置数组大小
public DogArray(int n)
{
dogs = new Dog[n];
}

//初始化数组
public void iniArray() throws Exception
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

String name;
String s_weight;
float weight;
for (int i = 0; i < dogs.length; i++)
{
dogs[i] = new Dog();
System.out.println("请输入第" + (i+1) + "只狗的名字:");
name = br.readLine();
dogs[i].setName(name);

System.out.println("请输入第" + (i+1) + "只狗的体重:");
s_weight = br.readLine();
weight = Float.parseFloat(s_weight);
dogs[i].setWeight(weight);
}
}

//计算狗的平均体重
public float findAvgWeight()
{
float totalWeight = 0;
float avgWeight;

for (int i = 0; i < dogs.length; i++)
{
totalWeight += dogs[i].getWeight();
}

avgWeight = totalWeight / dogs.length;
return avgWeight;
}

//找到体重最大的狗
public void findMaxDog()
{
float maxWeight = dogs[0].getWeight();
int maxIndex = 0;

for (int i = 1; i < dogs.length; i++)
{
if (maxWeight < dogs[i].getWeight())
{
maxWeight = dogs[i].getWeight();
maxIndex = i;
}
}

System.out.println("体重最大的狗是第" + (maxIndex + 1) + "只狗,体重是:"
+ dogs[maxIndex].getWeight());
}

//输入狗的名字,找到它的体重
public void findWeight(String name)
{
for (int i = 0; i < dogs.length; i++)
{
if (name == dogs[i].getName())
{
System.out.println(name + "的体重是:" + dogs[i].getWeight());
break;
}
}
}
}

解决方案 »

  1.   

    对了,报的错是“Syntax error on token "iniArray", Identifier expected after this token”
      

  2.   

    把DogTest里的内容放进main函数。
    你把类的定义和声明放在主函数外,当然会报错。public class DogTest
    {
        public static void main(String[]args) {
            DogArray dogArray = new DogArray(4);
            try {
    dogArray.iniArray();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } //报错
        }
    }
      

  3.   

    import java.io.*;public class DogTest
    {

         public static void main(String[] args){
          DogArray dogArray = new DogArray(4);
          try {
    dogArray.iniArray();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();

         }
    }class Dog
    {
        private String name;
        private float weight;
        
        public String getName() 
        {
            return name;
        }
        
        public void setName(String name)
        {
            this.name = name;
        }
        
        public float getWeight()
        {
            return weight;
        }
        
        public void setWeight(float weight)
        {
            this.weight = weight;
        }
    }class DogArray
    {
        private Dog[] dogs;
        
        //设置数组大小
        public DogArray(int n)
        {
            dogs = new Dog[n];
        }
        
        //初始化数组
        public void iniArray() throws Exception
        {
            InputStreamReader isr = new InputStreamReader(System.in);
            BufferedReader br = new BufferedReader(isr);
            
            String name;
            String s_weight;
            float weight;
            for (int i = 0; i < dogs.length; i++)
            {
                dogs[i] = new Dog();
                System.out.println("请输入第" + (i+1) + "只狗的名字:");
                name = br.readLine();
                dogs[i].setName(name);
                
                System.out.println("请输入第" + (i+1) + "只狗的体重:");
                s_weight = br.readLine();
                weight = Float.parseFloat(s_weight);
                dogs[i].setWeight(weight);
            }
        }
        
        //计算狗的平均体重
        public float findAvgWeight()
        {
            float totalWeight = 0;
            float avgWeight;
            
            for (int i = 0; i < dogs.length; i++)
            {
                totalWeight += dogs[i].getWeight();
            }
            
            avgWeight = totalWeight / dogs.length;
            return avgWeight;
        }
        
        //找到体重最大的狗
        public void findMaxDog()
        {
            float maxWeight = dogs[0].getWeight();
            int maxIndex = 0;
            
            for (int i = 1; i < dogs.length; i++)
            {
                if (maxWeight < dogs[i].getWeight())
                {
                    maxWeight = dogs[i].getWeight();
                    maxIndex = i;
                }
            }
            
            System.out.println("体重最大的狗是第" + (maxIndex + 1) + "只狗,体重是:"
                    + dogs[maxIndex].getWeight());
        }
        
        //输入狗的名字,找到它的体重
        public void findWeight(String name)
        {
            for (int i = 0; i < dogs.length; i++)
            {
                if (name == dogs[i].getName())
                {
                    System.out.println(name + "的体重是:" + dogs[i].getWeight());
                    break;
                }
            }
        }
    }
      

  4.   


    哦,晕了,原来忘了写main方法,谢了