黑马程序员技术交流社区
标题:
利用方法的多态性,判断输入的数据类型。
[打印本页]
作者:
小穿钉
时间:
2015-11-2 22:27
标题:
利用方法的多态性,判断输入的数据类型。
/**
* 重写和重载是多态的主要变现形式,在这里用重载体现JAVA语言的多态性,
* 写4个prints()方法,具有相同的方法名,但是具有不同的参数类型,
* 根据所传递的参数类型不同,调用不同的prints()方法
*/
package cn.com.panduantype;
public class If {
String str,str1;
int i;
boolean bool;
double d;
Print m=new Print();
public void panduan(String str){
//判断输入的数据是否包括“'”,决定是否是字符序列。
if((str.indexOf("'"))!=-1){
m.prints(str);
return;
}
//判断输入的数据是否包含小数点
i=str.indexOf(".");
//不包含小数点,不可能是double型
if(i==-1){
//转换成大写形式
str1=str.toUpperCase();
if(str1.equals("TRUE")||str1.equals("FALSE")){//是boolean型值
bool=Boolean.parseBoolean(str); //转换成boolean型值
m.prints(bool);
}else{
i=Integer.parseInt(str); //是int型的,转换成int型值
m.prints(i);
}
}else{//包含小数点是double型值
d=Double.parseDouble(str);
m.prints(d);
}
}
}
作者:
小穿钉
时间:
2015-11-2 22:32
package cn.com.panduantype;
public class Print {
static void prints(int intValue){
System.out.println("您输入的是整型数"+intValue);
}
static void prints(double doubleValue){
System.out.println("您输入的是实型数"+doubleValue);
}
static void prints(boolean booleanValue){
System.out.println("您输入的是布尔型量"+ booleanValue);
}
static void prints(String strValue){
System.out.println("您输入的是字符串"+strValue);
}
}
作者:
小穿钉
时间:
2015-11-2 22:34
package cn.com.panduantype;
import java.util.*;
public class Test {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入。。。。");
If s=new If();
s.panduan(in.next());
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2