从控制台输入电话号,判断是固定电话(8位)还是手机号(11位)。
如果是固定电话,则把其奇数位分别加5后,打印输出新的电话号。
如果是手机号,则把偶数位分别加8后,打印输出新的手机号。
要求计算后的电话号码位数不变
public class Phone1 {public static void main(String[] args) {Phone1 phone1 = new Phone1();Scanner input = new Scanner(System.in);System.out.println("请输入电话号:");String num = input.next();if (num.length() == 8) {//判断电话号是多少位phone1.Landline(num);} else if (num.length() == 11) {phone1.mobilePhone(num);} else {System.out.println("输入电话号有误,请重新输入!");}}public void Landline(String num) {int[] number = new int[8];for (int i = 0; i < number.length; i++) {number[i] = ((int) num.charAt(i)) - 48;//将对应的字符串数字转换成对应的int型if (i % 2 == 0) {//判断奇数位,电话号码的第一位对应的数组为偶数位int a = number[i] + 5;//定义a为加5之后的数if (a > 9) {//如果加5之后的数>10number[i] = a - 10;//将这个数-10,用于输出个位数,最后输出的电话号位数不变} else {number[i] = a;//如果<10,就原样输出}}}for (int phoneNum : number) {//遍历数组 将电话号输出System.out.print(phoneNum);}}public void mobilePhone(String num) {int[] number = new int[11];for (int i = 0; i < number.length; i++) {number[i] = ((int) num.charAt(i)) - 48;//将对应的字符串数字转换成对应的int型if (i % 2 == 1) {int a = number[i] + 8;//定义a为加8之后的数if (a > 9) {//如果这个数加8之后>10,那么将这个数-10,用于输出电话号位数不变number[i] = a - 10;} else {number[i] = a;//如果这个数<10就将这个数原样输出}}}for (int phoneNum : number) {//遍历数组,将电话号原样输出System.out.print(phoneNum);}}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
