使用Scanner產生Exception in thread "main" java.lang...

麻煩幫忙分析下這個問題是什麼緣由啊?附上源代碼:java

package com.shuzu;this

 

import java.util.*;spa

public class FindDog {索引

 

/**get

* @param argsit

*/io

public static void main(String[] args){編譯

// TODO Auto-generated method stubclass

//設置要輸入的狗的數量thread

System.out.println("請輸入您要存儲的狗的數量");

Scanner str = new Scanner(System.in);

int count = str.nextInt();

Dog[] dog = new Dog[count];

 

for (int i = 0; i < count; i++) {

System.out.println("請輸入狗的名字");

String str1 = str.nextLine();

dog[i].setName(str1);

System.out.println("請輸入狗的體重");

float wht = str.nextFloat();

dog[i].setWeight(wht);

}

 

//設置一個sum和一個平均體重變量

float sum,averageWeight;

sum = averageWeight = 0;

//計算狗的平均體重

for(int j=1;j<dog.length;j++){

sum += dog[j].getWeight();

}

averageWeight = sum / dog.length;

//顯示狗的平均體重

System.out.println(dog.length + "只狗的平均體重是:" + averageWeight);

//找出最大狗的名字和最小狗的名字,並打印

float temp1 = dog[0].getWeight(); //temp1用於存儲最重的狗的體重並充當判斷條件

int t1 = 0;                       //t1用於存儲最重的狗的索引

//float temp2 = temp1;//temp2用於存儲最輕的狗的體重並充當判斷條件

int t2 = 0;                      //t2用於存儲最輕的狗的索引

for(int k = 1;k<dog.length;k++){

if(temp1 < dog[k].getWeight()){

temp1 = dog[k].getWeight();

t1 = k;

}else{

//temp2 = dog[k].getWeight();

t2 = k;

}

}

//打印最輕最重的狗的名字

System.out.println("最重的狗的名字是:" + dog[t1].getName() + "\n" +

"最輕狗的名字是:" + dog[t2].getName());

System.out.println("請輸入要查找的狗名");

String findName = str.next();      //輸入要查找的狗的名字

for(int m = 0;m<dog.length;m++){

if(findName.equals(dog[m].getName())){

System.out.println("您要查找的狗" + findName +"的體重是:" + dog[m].getWeight());

}

}

}

 

}

 

 

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;

}

}

 

 

編譯經過,可是運行出錯了:

4

請輸入狗的名字

Exception in thread "main" java.lang.NullPointerException

at com.shuzu.FindDog.main(FindDog.java:20)

相關文章
相關標籤/搜索