dabinge 发表于 2020-11-26 15:42:58

如何用数组做这道题。。

从键盘输入11位手机号码,将第4位-第7位替换为“XXXX”,并输出替换后的手机号,判断手机号是否以135开头,以1323结尾,如果是,则输出“恭喜你”,如果不是,则输出“很遗憾”。

tusumili 发表于 2020-11-28 20:33:33

用数组接收数据,替换中间指定位数用索引就行了,手机号是否以135开头和1323结尾,如果你会正则可以用正则,不会正则依旧可以用数组解决。把数组的前三位取出来判断一下,后四位取出来判断一下,然后进行输出就可以了。

小甲鱼水里游 发表于 2020-12-2 09:46:55

package test;

import java.util.Scanner;

public class replace {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("输入手机号");
                String phonenumber = sc.nextLine();
                System.out.println("手机号为:"+phonenumber);
                System.out.println("输入修改手机号部分");
                String replace = sc.nextLine();
                String lastphonenumber = phonenumber.replace(phonenumber.substring(3, 7), replace);
                phonenumber=lastphonenumber;
                System.out.println("修改后手机号为:"+phonenumber);
                String pre = phonenumber.substring(0, 3);
                String last = phonenumber.substring(8);
                if(pre=="123"&&last=="1323") {
                        System.out.println("恭喜你");
                }else {
                        System.out.println("很遗憾");
                }
        }
}

连帅帅 发表于 2020-12-11 16:48:31

小甲鱼水里游 发表于 2020-12-2 09:46


三楼写的很好啊,这道题就是两个函数的事,一个字符串截取SubString,一个字符串替换Replace

IMAI 发表于 2020-12-11 21:40:30

三楼判断字符串相等用==   ?

小甲鱼水里游 发表于 2020-12-12 18:13:50

IMAI 发表于 2020-12-11 21:40
三楼判断字符串相等用==   ?

用等号是没有问题的,这里的123和1324是存放在常量池里面的,==号在这里判断的是内容而不是地址,如果改成equal也算可以的

IMAI 发表于 2020-12-12 20:23:57

小甲鱼水里游 发表于 2020-12-12 18:13
用等号是没有问题的,这里的123和1324是存放在常量池里面的,==号在这里判断的是内容而不是地址,如果改成eq ...

你确定==没问题?你运行试过么

小甲鱼水里游 发表于 2021-1-6 11:31:09

IMAI 发表于 2020-12-12 20:23
你确定==没问题?你运行试过么

是可以的,这个是我在ide里面写好粘贴上来的
页: [1]
查看完整版本: 如何用数组做这道题。。