刚开始学习java,菜鸟提问。
/**
* 编写一个电话号码检测类,要求用户从键盘录入电话号码(利用main方法中的args参数),
* 用英文中的“-”作为国家号,区号,号码的区分(以‘#’作为结束的标志)。
* 把录入的号码进行合法性检测:输入的号码必须是数字,否则提示输入错误,重新输入。
* 如果输入正确,把拆解后的号码分别显示出来。
* 示例:
* Java Dome 086-024#
* 错误:输入的位数不足!
* Java Dome abc-def-abcdefgh#
* 错误:输入中不能包含字母!
* Java Dome 086-024-12345678
* 错误:没有以“#”号结束!
* Java Dome 086-024-12345678#
* 国家号:086
* 地区号:024
* 电话号:12345678
*/
------解决方案--------------------用英文中的“-”作为国家号,区号,号码的区分(以‘#’作为结束的标志)。
=================================================================
split( "- ")
while(ch != "# "){}
把录入的号码进行合法性检测:输入的号码必须是数字,否则提示输入错误,重新输入
============================================================================
正则表达式
------解决方案--------------------import java.io.*;
public class CheckTelNumber{
public static void main(String args){
boolean b=true;
String str=args[0];
String country;
String area;
String num;
while(b){
if(check(str)){
System.out.println( ": "+country);
System.out.println( ": "+area);
System.out.println( ": "+num);
b=false;
}
else{
BufferedReader stdin =
new BufferedReader(new InputStreamReade(System.in));
System.out.println( "Enter a line: ");
str=stdin.readLine();
}
}
}
public static boolean check(String str){
//check str is valid number
//include character return false and out "输入中不能包含字母! ";
//....
}
}
功能自己想想,呵呵
------解决方案--------------------public class TestInput
{
public static void main(String args[])
{
String str;
InputStreamReader stdin = new InputStreamReader(System.in);//键盘输入
BufferedReader bufin = new BufferedReader(stdin);
try
{
System.out.print ( "请输入字符: ");
str = bufin.readLine();
System.out.println ( "你输入的字符为: "+str);
}
catch(
IOException E)
{
System.out.println( "发生I/O错误!!! ");
}
}
}
======================================================
这是读,你可以加个判断(validate)直到你的validate为true的时候在输出,否则一直等着输入
------解决方案--------------------没抢到~~
------解决方案--------------------只是一个数据检测的问题.不难呀,前面都回答正确了.
------解决方案--------------------为什么不用正侧表达式列???
------解决方案--------------------可以用正则表达式, 可也不是非得用正则表达式
楼主可以自己选择...
------解决方案--------------------