Java开发实战经典

第5章 习题

3.编写程序,统计出字符串“want you to know one thing”中字母n和字母o的出现次数。

package com.java开发实战经典.chapter_5.习题;

/**
 * 3.编写程序,统计出字符串“want you to know one thing”
 * 中字母n和字母o的出现次数。
 */
public class Practice03 {
    private  int count=0;
    private char c[];
    public Practice03(String str){
        this.c=str.toCharArray();
    }
    public void search(char ch){//查找任意一个字符的个数
        for(int i=0;i<c.length;i++){
            if(c[i]==ch) {count++;}
        }
        System.out.println("共有字母"+ch+"\t"+x+"个");
    }
    public static void main(String args[]){
        String str="want you to know one thing";
        Practice03 p = new Practice03(str);
        p.search('n');
    }
}

5.设计一个表示用户的User类,类中的变量有用户名、口令和记录用户个数的变量,定义类的3个构造方法(无参、为用户名赋值、为用户名和口令赋值)、获取和设置口令的方法和返回类信息的方法。

package com.java开发实战经典.chapter_5.习题;

/**
 * 5.设计一个表示用户的User类,类中的变量有用户名、口令和记录用户个数的变量,
 * 定义类的3个构造方法(无参、为用户名赋值、为用户名和口令赋值)、获取和设置口令的方法和返回类信息的方法。
 */
public class User {
    private String name;
    private String password;
    private int number;
    public User(){

    }
    public User(String name){//构造方法初始化用户名
        this.setName(name);
    }
    public User(String name, String password){//构造方法初始化用户名和口令
        this.setName(name);
        this.setPassword(password);
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setPassword(String password) {//设置口令
        this.password = password;
    }

    public String getPassword() {//获取口令
        return password;
    }
    public void getInfo(){
        number++;
        System.out.println("第"+number+"个用户:"+this.getName()+"的密码为:"+this.getPassword());
    }
}
package com.java开发实战经典.chapter_5.习题;

public class UserDemo {
    public static void main(String[] args) {
//        User user01 = new User("甘雨","冰封迷途的勇士");
//        User user01 = new User("甘雨");
//        User user02 = new User("钟离","千岩固牢");
//        User user03 = new User("魈","角斗士+翠绿之影");
//        user01.getInfo();
        User user[] = { new User("甘雨","冰封迷途的勇士"),
                new User("钟离","千岩固牢"),
                new User("魈","角斗士,翠绿之影")} ;
        System.out.println("\n=======对象实例化========");
        for(int x = 0; x < user.length; x++){
            user[x].getInfo();
        }

    }
}

6.字符串操作: (1)从字符串“Java技术学习班20070326”中提取开班日期。 (2)将“MLDN JAVA”字符串中的“JAVA”替换为“J2EE”。 (3)取出“Java技术学习班20070326”中的第8个字符。 (4)清除“Java技术学习班20070326”中的所有0。 (5)清除“Java技术学习班20070326 MLDN老师”中的所有空格。 (6)从任意给定的身份证号码中提取此人的出生日期。

package com.java开发实战经典.chapter_5.习题;

/**
 * 6.字符串操作:
 * (1)从字符串“Java技术学习班20070326”中提取开班日期。
 * (2)将“MLDN JAVA”字符串中的“JAVA”替换为“J2EE”。
 * (3)取出“Java技术学习班20070326”中的第8个字符。
 * (4)清除“Java技术学习班20070326”中的所有0。
 * (5)清除“Java技术学习班20070326 MLDN老师”中的所有空格。
 * (6)从任意给定的身份证号码中提取此人的出生日期。
 */

public class StringTest {
    public static void main(String[] args) {
        String str01 = "Java技术学习班20070326";
        System.out.println("从字符串“Java技术学习班20070326”中提取开班日期: "
                +str01.substring(9));

        String str02 = "MLDN JAVA";
        System.out.println("将“MLDN JAVA”字符串中的“JAVA”替换为“J2EE”: "
                +str02.replaceAll("JAVA","J2EE"));

        System.out.println("取出“Java技术学习班20070326”中的第8个字符: "
                +str01.charAt(7));

        System.out.println("清除“Java技术学习班20070326”中的所有0: "
                +str01.replace("0",""));

        String str03 = "Java技术学习班20070326 MLDN老师";
        System.out.println("清除“Java技术学习班20070326 MLDN老师”中的所有空格”: "
                +str03.replace(" ",""));

        String str04 = "111111202112311111";
        System.out.println("从任意给定的身份证号码中提取此人的出生日期: "
                +str04.substring(6,14));
    }

9.声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数、记录图书的总册数,在构造方法中利用此静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数。

package com.java开发实战经典.chapter_5.习题;

/**
 * 9.声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,
 * 并拥有静态数据成员册数、记录图书的总册数,在构造方法中利用此静态变量为对象的编号赋值,
 * 在主方法中定义对象数组,并求出总册数。
 */
public class Book {
    private String title;//书名
    private int id;//编号
    private float price;//书价
    private static int count = 0;//利用静态变量实现自动编号
    public Book(){
        count++;
        this.id = count;

    }
    public Book(String title, float price){
        this();
//        this.id = (++count);//二选一
        this.setTitle(title);
        this.setPrice(price);

    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

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

    public float getPrice() {
        return price;
    }

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

    public int getId() {
        return id;
    }
    public static int totalBook(){      //定义方法求图书总册数
        return count;
    }
    public void print(){             //显示编号、书名、价格
        System.out.println("编号"+this.getId()+"  书名"+this.getTitle()+"  价格"+this.getPrice());
    }

}

package com.java开发实战经典.chapter_5.习题;

public class BookTest {

    public static void main(String[] args) {
        Book book[] = new Book[3];//定义对象数组
        book[0] = new Book("提灯映桃花",35.9f);
        book[1] = new Book("提灯映桃花",35.9f);
        book[2] = new Book("提灯映桃花",35.9f);
        for(int x = 0; x < book.length; x++){
            book[x].print();
        }
        System.out.println("共有"+Book.totalBook()+"册书");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值