为了账号安全,请及时绑定邮箱和手机立即绑定

请问我该怎么判断有没有小数点呢?

请问我该怎么判断有没有小数点呢?

HUX布斯 2023-03-02 21:17:28
因为要对不同的数据类型做不同的处理。比如对int型要干嘛干嘛,对double型要干嘛干嘛,但是输入的好像都是String啊
查看完整描述

3 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

import java.util.Scanner; 
public class L
{
public static void main(String args[])
{
Scanner input=new Scanner(System.in);
System.out.println("请输入:");
String a=input.next();
int b=a.length(),c,count=0;
for(c=0;c<b;c++){
String d=a.substring(c,c+1);
if(d.equals(".")){
count++;
}
}
if(count==0){
System.out.println("你输入的是int类型的值");
}
else if(count==1){
System.out.println("你输入的是double类型的值");
}
else{
System.out.println("你输入的值有误");
}
}


以上的代码只是一个初形,如果你是想一次判断多个或者是判断完一个想接着判断下一个的话,就像楼上说的那样想将需要判断的值放进数组里,然后利用2层的for循环进行判断。说回这段代码,我想将输入的字符串赋给a,然后计算a的长度赋给b,在for循环里利用subString来对每一位进行截取,将每次截取到的字符利用equals来判断是否为".".如果是的话count就增加1,以此来计算"."一共出现了几次,如果没有出现过就判定为int类型,如果出现一次就判定为double类型,如果多于1次,就判定为输入有误。至于你说的判断完之后的后续操作就由你来写了。

 


查看完整回答
反对 回复 2023-03-06
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

如果是基本类型,使用typeof,例如:
int i = 100;
if(i typeof int) {
...
}

如果是类类型,使用instanceof,例如:
Float f = new Float("2.199");
if(f instanceof Float) {
...
}

查看完整回答
反对 回复 2023-03-06
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

用正则表达式吧,代码如下:
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MatcherTest {
private static final String ISINTEGER="^[1-9][0-9]+$";
private static final String ISDOUBLE="^[1-9][0-9]+[.][0-9]+[1-9]$";
public static void main(String[] args)throws Exception {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
String s=input.readLine();
if(s.matches(ISINTEGER))System.out.println("是整数");
else if(s.matches(ISDOUBLE))System.out.println("是小数");
else System.out.println("输入不合法");
}
}


查看完整回答
反对 回复 2023-03-06
  • 3 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号