求做一道“判断电话号码字符串”的java题目
判断电话号码字符串,要求必须是0-9之间的字符并且是11位,前缀必须是13或者15开头。如果不是抛出异常,如果符合电话号码格式,做控制台输出,使用到的方法length()...
判断电话号码字符串,要求必须是0-9之间的字符并且是11位,前缀必须是13或者15开头。如果不是抛出异常,如果符合电话号码格式,做控制台输出,使用到的方法length(),charAt(),startsWith();
展开
展开全部
你好,代码如下:
class PhoneException extends Exception{
public PhoneException(String msg){
super(msg) ;
}
}
public class BaiduTest06 {
public static void main(String[] args) throws PhoneException {
Scanner sc = new Scanner(System.in) ;
System.out.print("请输入一个号码:");
String phoneNum = sc.next() ;
if (checkNum(phoneNum)) {
System.out.println("您输入的电话号码格式正确:" + phoneNum);
}
}
private static boolean checkNum(String phoneNum) throws PhoneException {
if (phoneNum == null || "".equals(phoneNum.trim())) {
System.out.println("输入的字符串不能为空!");
return false;
}
if (phoneNum.length() != 11) {
throw new PhoneException("电话号码必须长11位") ;
}
if (!phoneNum.startsWith("13") && !phoneNum.startsWith("15")) {
throw new PhoneException("电话号码必须以13或15开头") ;
}
if (!phoneNum.matches("^[0-9]{11}$")) {
throw new PhoneException("电话号码必须由数字组成!") ;
}
return true;
}
}
class PhoneException extends Exception{
public PhoneException(String msg){
super(msg) ;
}
}
public class BaiduTest06 {
public static void main(String[] args) throws PhoneException {
Scanner sc = new Scanner(System.in) ;
System.out.print("请输入一个号码:");
String phoneNum = sc.next() ;
if (checkNum(phoneNum)) {
System.out.println("您输入的电话号码格式正确:" + phoneNum);
}
}
private static boolean checkNum(String phoneNum) throws PhoneException {
if (phoneNum == null || "".equals(phoneNum.trim())) {
System.out.println("输入的字符串不能为空!");
return false;
}
if (phoneNum.length() != 11) {
throw new PhoneException("电话号码必须长11位") ;
}
if (!phoneNum.startsWith("13") && !phoneNum.startsWith("15")) {
throw new PhoneException("电话号码必须以13或15开头") ;
}
if (!phoneNum.matches("^[0-9]{11}$")) {
throw new PhoneException("电话号码必须由数字组成!") ;
}
return true;
}
}
展开全部
public class Number {
class MyExecption extends Exception{
MyExecption(String mes){
super(mes);
}
}
public void check(String string)throws MyExecption {
if (string.startsWith("15")||string.startsWith("13")) {
}else {
throw new MyExecption("这个不是电话号码");
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个号码:");
if(sc.hasNext("[0-9]{11}"))
{
String string=sc.next();
try {
new Number().check(string);
} catch (MyExecption e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
System.out.println("输入有误");
}
}
}
class MyExecption extends Exception{
MyExecption(String mes){
super(mes);
}
}
public void check(String string)throws MyExecption {
if (string.startsWith("15")||string.startsWith("13")) {
}else {
throw new MyExecption("这个不是电话号码");
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个号码:");
if(sc.hasNext("[0-9]{11}"))
{
String string=sc.next();
try {
new Number().check(string);
} catch (MyExecption e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
System.out.println("输入有误");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码如下,修改楼上的:
import java.util.Scanner;
public class BaiduTest06 {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个号码:");
String phoneNum = sc.next();
if (checkNum(phoneNum)) {
System.out.println("您输入的电话号码格式正确:" + phoneNum);
}
}
private static boolean checkNum(String phoneNum) throws Exception {
if (phoneNum == null || "".equals(phoneNum.trim())) {
System.out.println("输入的字符串不能为空!");
return false;
}
if (phoneNum.length() != 11) {
throw new Exception("电话号码必须长11位");
}
if (!phoneNum.startsWith("13") && !phoneNum.startsWith("15")) {
throw new Exception("电话号码必须以13或15开头");
}
for (int i = 2; i < phoneNum.length(); i++) {
char p = phoneNum.charAt(i);
if (p < '0' || p > '9') {
throw new Exception("电话号码必须由数字组成!");
}
}
return true;
}
}
import java.util.Scanner;
public class BaiduTest06 {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个号码:");
String phoneNum = sc.next();
if (checkNum(phoneNum)) {
System.out.println("您输入的电话号码格式正确:" + phoneNum);
}
}
private static boolean checkNum(String phoneNum) throws Exception {
if (phoneNum == null || "".equals(phoneNum.trim())) {
System.out.println("输入的字符串不能为空!");
return false;
}
if (phoneNum.length() != 11) {
throw new Exception("电话号码必须长11位");
}
if (!phoneNum.startsWith("13") && !phoneNum.startsWith("15")) {
throw new Exception("电话号码必须以13或15开头");
}
for (int i = 2; i < phoneNum.length(); i++) {
char p = phoneNum.charAt(i);
if (p < '0' || p > '9') {
throw new Exception("电话号码必须由数字组成!");
}
}
return true;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询