亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問我該怎么判斷有沒有小數點呢?

請問我該怎么判斷有沒有小數點呢?

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 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號