会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 134110个问题

数组错误.png

老师,这段代码没有报错,为什么嵌套循环用不了,是不是定义类表述一个二维数组之后,实际上算是一维数组,不能算二维数组,所以嵌套循环用不了,以下是原码

package com.luzhongxu.arrary;

public class Test08 {
    public static void main(String[] args) {
        shangping[][] x =new shangping[4][];
        shangping x0 = new shangping(1,"鼠标","BZ",99.21,0.9);
        shangping x1 = new shangping(2,"键盘","WO",403.00,0.7);
        shangping x2 = new shangping(3,"程序","BK",89.00,0.8);
        shangping x3 = new shangping(4,"西装","GQ",700.00,0.5);
        shangping x4 = new shangping(5,"手机","DM",900,0.4);

        x[4][0] = x0;
        x[4][1] = x1;
        x[4][2] = x2;
        x[4][3] = x3;
        x[4][4] = x4;

        for(int i =0; i< x.length;i++) {

            for (int j = 0; j <x[i].length; j++) {
                System.out.print(x[i][j]);
            }
            System.out.println();
        }
    }
}
class shangping{
    private int id;
    private String mingcheng;
    private String xinghao;
    private double price;
    private double discount;

    shangping(){}

    public shangping(int id, String mingcheng, String xinghao, double price, double discount) {
        this.id = id;
        this.mingcheng = mingcheng;
        this.xinghao = xinghao;
        this.price = price;
        this.discount = discount;
    }

    @Override
    public String toString() {
        return "序号:"+getId()+"\t"+"名称:"+getMingcheng()+"\t"+"型号:"+getXinghao()+"\t"+"价格:"+getPrice()+"\t"+"折扣:"+getDiscount();
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getMingcheng() {
        return mingcheng;
    }

    public void setMingcheng(String mingcheng) {
        this.mingcheng = mingcheng;
    }

    public String getXinghao() {
        return xinghao;
    }

    public void setXinghao(String xinghao) {
        this.xinghao = xinghao;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getDiscount() {
        return discount;
    }

    public void setDiscount(double discount) {
        this.discount = discount;
    }
}

shangping.png

JAVA 全系列/第一阶段:AI驱动的JAVA编程/数组和数据存储 31561楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/MySQL数据库 31562楼
Python全系列/第十六阶段:Python 爬虫开发/爬虫基础(旧) 31564楼
WEB前端全系列/第十三阶段:微信小程序-安心食疗(旧)/安心食疗-项目基础配置 31568楼
JAVA 全系列/第六阶段:JavaWeb开发/Ajax技术详解(旧) 31570楼
JAVA 全系列/第十四阶段:分布式文件存储与数据缓存/MongoDB 31571楼
Python全系列/第四阶段:函数式编程和核心特性/函数式编程核心(高阶函数、闭包等) 31572楼

老师,这个电话本项目里我添加新纪录之后查看全记录,年龄、性别、电话号码的输出值带有#号是怎么回事?呢

相关代码如下,输出值:

序号1#	姓名old		年龄23#		性别m#		电话号码12312312312#		地址er
/**
 * 添加新纪录信息
 */
public void addOperation() {
    TelNoteRegex telNoteRegex = new TelNoteRegex();
    String name = telNoteRegex.nameValidate();
    String age = telNoteRegex.ageValidate();
    String sex = telNoteRegex.sexValidate();
    String telNum = telNoteRegex.telNumValidate();
    String add = telNoteRegex.addressValidate();
    Person person = new Person(name,age,sex,telNum,add);
    this.list.add(person);
    person.setId(this.list.size());
}
/**
 * 查询全部记录
 */
public void showAll() {
    if (this.list.size()==0){
        System.out.println("没有任何记录");
        return;
    }
    for(int i=0;i<this.list.size();i++){
        System.out.println(this.list.get(i));
    }
}
/**
 * 对用户输入年龄的验证
 * 年龄的要求:10-99之间
 */
public String ageValidate(){
    String regex = "[1-9]{1}[0-9]{1}";
    Scanner scanner = new Scanner(System.in);
    while(true){
        System.out.println("请输入年龄:格式为10-99岁之间");
        String input = scanner.nextLine();
        if(input.matches(regex)){
            return input;
        }
        else{
            System.out.println("您输入的年龄格式有误,请重新输入!");
        }
    }
}
/**
 * 对用户输入性别的验证
 * 性别的输入要求:男(m或M)女(f或F)
 */
public String sexValidate(){
    String regex = "[m|M|f|F]{1}";
    Scanner scanner = new Scanner(System.in);
    while(true){
        System.out.println("请输入性别:男(m或M),女(f或F)");
        String input = scanner.nextLine();
        if(input.matches(regex)){
            return input;
        }else{
            System.out.println("您输入的性别有误,请重新输入!");
        }
    }
}
/**
 * 对用户输入电话号码的验证
 * 电话号码要求:允许带有区号的座机号,允许手机号
 */
public String telNumValidate(){
    String regex = "(\\d{3,4}-\\d{7,8}|[1]{1}\\d{10})";
    Scanner scanner = new Scanner(System.in);
    while(true){
        System.out.println("请输入电话号码:可以是座机号或者手机号");
        String input = scanner.nextLine();
        if(input.matches(regex)){
            return input;
        }else{
            System.out.println("输入的电话号码有误,请重新输入!");
        }
    }
}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/智能电话本项目实战 31575楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637