解决方案 »

  1.   

    目前想再次从键盘输入狗名字,输出对应狗的体重。 不会用equal方法,求这一段代码
      

  2.   

    这代码怎么这样 重新来package com.nine;
    import java.io.*;
    /*
     * 功能:从键盘输入几只狗的名字体重等,存入数组。再次从键盘输入狗名字,输出对应狗的体重
     */
    public class Demo3 { public static void main(String[] args) throws Exception
    {
    // TODO Auto-generated method stub
    Dog dog[] = new Dog[2];
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);
    //输入狗的名字
    for(int i=0;i<dog.length;i++)
    {
    dog[i]=new Dog();
    System.out.println("请输入第"+(i+1)+"只狗的名字:" );

    String name = br.readLine();//
    dog[i].setName(name);

    System.out.println("请输入第"+(i+1)+"只狗的体重:");

    String s_weight = br.readLine();
    float weight = Float.parseFloat(s_weight);
    dog[i].setWeight(weight);


    }
    float total = 0;
    //计算狗的平均体重
    for(int i=0;i<dog.length;i++)
    {

    total+= dog[i].getWeight();
    }
    //找出体重最大的狗
    //假设第一只狗体重最大
    float maxWeight = dog[0].getWeight();
    //String maxWeightName = dog[0].getName();
    int maxIndex = 0;
    for(int i=0;i<dog.length;i++)
    {
    if(maxWeight<dog[i].getWeight())
    {
    maxWeight=dog[i].getWeight();
    //maxWeightName = dog[i].getName();
    maxIndex = i;
    }
    }

    System.out.println("所有狗的总体重是:"+total+"平均体重是:"
    + ""+(total/dog.length));
    System.out.println("体重最重的狗是第"+(maxIndex+1)+"只,名字是:" 
    +dog[maxIndex].getName()+"重量为:"+maxWeight);
    /*System.out.println("输入你想查看体重的狗的名字:");
    String vlaue_name= br.readLine();

    for(int i=0;i<dog.length;i++)
    {
    //if(dog[i].getName())
    }*/
    }
    }
    class Dog
    {
    String name;
    float weight;
    public float getWeight() {
    return weight;
    }
    public void setWeight(float weight) {
    this.weight = weight;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    }
      

  3.   

    你的需求就是,输入dogName,输出dogWeight?dogName应该是唯一的吧,用map代替你的数组如何?
      

  4.   

    狗名字唯一??if(dog[i].getName().equals(vlaue_name) )
    {
         System.out.println(dog[i].getWeight)
    }
      

  5.   

    else{
    System.out.println("无效的名字");
    }
      

  6.   

    个人觉得用map做简单些!!!
    public class Test02 { public static void main(String[] args) {
    Map<String, Integer> map=new HashMap<String, Integer>();
    map.put("大黑", 65);
    map.put("小白", 45);
    map.put("毛毛", 34);
    Set<String> set=map.keySet();
    Scanner scan=new Scanner(System.in);
    while(true){
    System.out.println("请输入狗的名字");
    String str=scan.next();
    for(String s:set){
    if(str.equals(s)){
    System.out.println(map.get(s));
    return ;
    }
    }
    System.out.println("您输入的名字不存在!请重新输入!!");
    }

    }

    }
      

  7.   

    if(map.containKey(str))
    {
       System.out.println(map.get(str));
    }else
    {
       System.out.println("名字不存在!");
    }
      

  8.   

    最简单的方法是用map