Day11

Object

Object 常用的方法:
public String toString()
public boolean equals(Object obj)

toString()方法
1.toString () 返回的是字符串的表现形式
Object类的 toString 方法返回一个字符串 这个字符串是由
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
getClass().getName() >表示当前类的完整的包名加上类名
@
>没有特殊符号 表示一个连接符号
Integer.toHexString(hashCode()) ==> 表示当前对象的hash码的16进制
默认的方法的就是一个当前对象的内存地址
toString 方法 默认返回的也是内存地址
toString方法一般要重写,就是获取自定属性的值。

5.equals()与==
相同点: 都是用于来作比较
不同点:
1.equals() 方法 只能比较引用数据类型
== 可以比较引用数据类型 也可以比较基本数据类型
2.equals 没有重写 是比较引用数据类型的地址值
重写之后是用于比较对象的属性值
== 只能比较引用数据类型的地址值

Scanner
获取字符串
next() >获取字符 遇到空格结束
nextLine()
> 获取一行 遇到回车结束

1.需要来判断接收类型与输入的类型是否匹配
hasNextxxx() ==>xxx 表示基本数据类型
在这里插入图片描述
在这里插入图片描述

字符串中常用的方法

判断性
1.判断性: 是用于来做判断 也就是返回值类型是Boolean
public boolean contains(CharSequence s) ==> 判断字符串中是否包含此字符
包含 返回true 则false
public boolean endsWith(String suffix) ==>此字符串是否以指定的后缀结束
public boolean equals(Object anObject) ==>字符串与指定的对象比较
public boolean equalsIgnoreCase(String anotherString) 忽略大小写来进行判断
public boolean isEmpty() ==>判断是否为空
public boolean startsWith(String prefix) ==>此字符串是否以指定的前缀开始

得到性
1.得到性: 也就是获取字符串相关的信息
public char charAt(int index) ==> 根据索引来获取指定char类型的数据 返回值是char 索引是从0开始
public int length() ==> 返回的是字符串的长度
public String substring(int beginIndex,int endIndex)
==> 字符串截取 beginIndex 开始的位置 endIndex 表示结束的位置
==>返回的是截取后的字符串
索引是从0开始的 包头不包尾
public String replace(char oldChar,char newChar)
==>替换
==> oldChar ==> 替换成新的
==> 返回值是替换后的字符串
public String[] split(String regex)
==> 分割
==>根据正则表达式 或者是根据符号来进行分割 , 空格
public int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引
public int indexOf(int ch,
int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
public int indexOf(String str)
public int indexOf(String str, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
public int lastIndexOf(int ch)
public int lastIndexOf(String str)
返回在此字符串中第一次出现指定字符处的索引 从后面往前开始进行查询

转换类型的方法
public byte[] getBytes() ==> 将字符串转换一个字节数组
public char[] toCharArray() ==> 将字符串转换为 一个char类型的数组
public String toLowerCase() ==>将字符串中打大写转换为小写
public String toUpperCase() ==> 将字符串中小写转换为大写
public String concat(String str) ==>向字符串的末尾进行拼接
public static String valueOf(int i) ==> 将任意的数据类型转换为字符类型
public String trim() ==> 表示除去前后端的空格

作业
1.分析以下需求,并用代码实现:
(1)定义如下方法public static String getPropertyGetMethodName(String property); get属性的名称
(2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字
(3)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"

5、定义一个方法,功能如下:给定一个数组,转换成一个字符串
例如:数组为int[] arr = {1, 2, 3},字符串为[1, 2, 3]

main测试类

public class work1Test {
    public static void main(String[] args) {
        System.out.println(Work1.getPropertyGetMethodName("name"));
        System.out.println(Work1.getPropertyGetMethodName("string"));
        System.out.println(Work1.change( new int[]{1,2,3,4}));

}
}

Work1.java

public class Work1 {
    private String name;

    public static String getPropertyGetMethodName(String property) {
        char[] ch = property.toCharArray();
        String p = "";
        for (int i = 0; i < ch.length; i++) {
            if (i == 0) {
                p += (ch[0] + "").toUpperCase();
            } else {
                p += (ch[i] + "");
            }
        }
        return "get" + p;
    }

    public static String change(int[] num) {
        String string = "[";
        for (int i = 0; i < num.length; i++) {
            if (i == num.length - 1) {
                string += num[i] + "";
            } else {
                string += num[i] + ",";
            }
        }
        string += "]";
        return string;
    }

}

2.分析以下需求,并用代码实现:
(1)定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”}
(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出
(3)如:010 是对称的,3223 是对称的,123123 不是对称的
(4)最终打印该数组中对称字符串的个数

Work2.java

public class Work2 {
    public static void main(String[] args) {
        String[] strings={"010","3223","666","7890987","123123"};
        int sum=0;
        for (int i=0;i<strings.length;i++){
            char[] ch=strings[i].toCharArray();
            String str1="";
            String str2="";
            for (int j=0;j<(ch.length)/2;j++){
               str1+=ch[j]+"";
               str2+=ch[ch.length-j-1]+"";
            }
            if(str1.equals(str2)){
                sum++;
            }
        }
        System.out.println(sum);
    }
}

3.分析以下需求,并用代码实现:
(1)从键盘循环录入录入一个字符串,输入"end"表示结束
(2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
举例:
键盘录入:Hello12345World
输出结果:hELLO*****wORLD
总共10个字母

Work3.java


public class Work3 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String string = "";
        String p = "";
        String a = "";
        int sum = 0;
        System.out.println("请输入值");
        do {
            p += string;
            string = input.next();
        } while (string.equals("end") == false);
        char[] ch = p.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            if (ch[i] >= 'a' && ch[i] <= 'z') {
                a += (ch[i] + "").toUpperCase();
                sum++;
            } else if (ch[i] >= 'A' && ch[i] <= 'Z') {
                a += (ch[i] + "").toLowerCase();
                sum++;
            } else if (ch[i] <= '9' && ch[i] >= '0') {
                a += "*";
            }
        }
        System.out.println("字符串为:" + a
                + "数字个数:" + sum);
    }
}

4、键盘录入一个字符串,统计该字符串中的大写字母、小写字母、数字字符和其他字符分别有多少个
例如,键盘录入abcABCD12345!@#$%&,输出结果为:小写字母有3个,大写字母有4个,数字字符有5个,其他字符有6个。

work4.java

public class Work4 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入值");
        String string=input.nextLine();
        int min=0;
        int max=0;
        int sum=0;
        int other=0;
        char[] ch = string.toCharArray();
        for (int i=0;i<string.length();i++){
            if (ch[i]>='a'&&ch[i]<='z'){
                min++;
            }else if(ch[i]>='A'&&ch[i]<='Z'){
                max++;
            }else if(ch[i]<='9'&&ch[i]>='0'){
                sum++;
            }else{
                other++;
            }
        }
        System.out.println("小写字母有"+min+"个,大写字母有"+max+
                "个,数字字符有"+sum+"个,其他字符有"+other+"个");
    }
}

6、定义一个方法,功能如下:给定一个字符串,返回该字符串的反转形式
例如:字符串为abcdef,返回结果为fedcb

Work6.java

public class Work6 {
    public static void main(String[] args) {
        Scanner input =new Scanner(System.in);
        String string=input.next();
        String p="";
        char[] ch=string.toCharArray();
        for (int i=0;i<ch.length;i++){
            p+=ch[ch.length-1-i];
        }
        System.out.println(p);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值