此娴非闲 2022-03-13 15:39 采纳率: 100%
浏览 45
已结题

为什么没有输出结果?求解答

问题是只输出:MyProject.Attribute.House@6f94fa3e,没有输出用户输入的数据


package MyProject.Attribute;

public class House {
    private int houseId;
    private String nameOfLady;
    private String address;
    private double rent;
    private String phone;
    //构造方法
    public House(int houseId,String nameOfLady, String address, double rent, String phone) {
        setNameOfLady(nameOfLady);
        setAddress(address);
        setRent(rent);
        setPhone(phone);
        setHouseId(houseId);
    }
    //封装
    public String getNameOfLady() {
        return nameOfLady;
    }
    public void setNameOfLady(String nameOfLady) {
        this.nameOfLady = nameOfLady;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public double getRent() {
        return rent;
    }
    public void setRent(double rent) {
        this.rent = rent;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public int getHouseId() {
        return houseId;
    }
    public void setHouseId(int houseId) {
        this.houseId = houseId;
    }
}
package MyProject.realizetion;

import MyProject.Attribute.House;

import java.util.Scanner;

public class HouseInformation {
    public static void main(String[] args) {
        Information information=new Information();
        information.View();
    }
}
class Information{
    //建立一个House的数组
    House[] houses =new House[100];
    //返回一个数组,便于输出房屋列表
    public House[] list(){
        return houses;
    }
    //让用户输入数据
    Scanner scanner=new Scanner(System.in);
    public void houseUser(){
        System.out.println("房主姓名:");
        String name=scanner.next();
        System.out.println("房屋地址:");
        String address=scanner.next();
        System.out.println("房屋租金:");
        double rent=scanner.nextInt();
        System.out.println("房主电话:");
        String phone=scanner.next();
        House houseNew=new House(0,name,address,rent,phone);
        //把新的数据加到建立的House数组中去
        addNewHouse(houseNew);
    }
    //添加新的数据
    int houseNumber=0;
    public void addNewHouse(House houseNew){
        if(houses.length==0){
            return;
        }
        houses[houseNumber]=houseNew;
        houseNumber++;
    }
    //获取一个数组
    public void getList(){
        House[] houseList =list();
        //开始循环遍历
        for(int i=0;i<houseList.length;i++){
            if(houseList[i]!=null){
                System.out.println(houseList[i]);
            }
        }
    }
    boolean viewOr=true;
    public void View(){
        do{
            System.out.println("请选择1-2");
            int input=scanner.nextInt();
            switch (input){
                case 1:
                    houseUser();
                    break;
                case 2:
                    getList();
                    break;
                default:
                    viewOr=false;
                    System.out.println("输入有误!");
                    break;
            }
        }while (viewOr);
    }
}

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-03-13 15:42
    关注

    你输出的是地址,不是对象中的数据。

    House类中需要重写toString方法。

    
    House {
        private int houseId;
        private String nameOfLady;
        private String address;
        private double rent;
        private String phone;
        @Override
        public String toString(){
          return "nameOfLady="+ nameOfLady+",address="+address+",rent="+rent+",phone="+phone;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月13日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line