日期:2014-05-20  浏览次数:20867 次

刚开始学习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的时候在输出,否则一直等着输入

------解决方案--------------------
没抢到~~
------解决方案--------------------
只是一个数据检测的问题.不难呀,前面都回答正确了.
------解决方案--------------------
为什么不用正侧表达式列???

------解决方案--------------------
可以用正则表达式, 可也不是非得用正则表达式

楼主可以自己选择...
------解决方案--------------------