题目:从控制台输入电话号,判断是固定电话(8位)还是手机号(11位)。
a) 如果是固定电话,则把其奇数位分别加5后,打印输出新的电话号。
b) 如果是手机号,则把偶数位分别加8后,打印输出新的手机号。
c) 要求计算后的电话号码位数不变。
import java.util.Scanner;
public class Telephone {
public static void main(String[] args) {
System.out.println("请输入电话号码:");
Scanner scanner = new Scanner(System.in);
String num = scanner.next();
int [] nums = new int[num.length()];
if (num.length() == 11){
for (int i = 0; i < 11; i++) {
if (i % 2 == 1){
nums[i] = Integer.parseInt(String.valueOf(num.charAt(i))) + 8;
if (nums[i] / 10 % 10 != 0) {
nums[i] = nums[i] % 10;
}
}
else {
nums[i] = Integer.parseInt(String.valueOf(num.charAt(i)));
}
}
for (int i : nums) {
System.out.print(i);
}
}
if (num.length() == 8){
for (int i = 0; i < 8; i++) {
if (i % 2 == 0){
nums[i] = Integer.parseInt(String.valueOf(num.charAt(i))) + 5;
if (nums[i] / 10 % 10 != 0) {
nums[i] = nums[i] % 10;
}
}
else {
nums[i] = Integer.parseInt(String.valueOf(num.charAt(i)));
}
}
for (int i : nums) {
System.out.print(i);
}
}
else {
System.out.println("输入有误");
}
}
}