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;
}
}
}
}
你把类的定义和声明放在主函数外,当然会报错。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();
} //报错
}
}
{
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;
}
}
}
}
哦,晕了,原来忘了写main方法,谢了