日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

输入字符和数字 java,验证输入仅为字符串,数字仅为JAVA

發布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 输入字符和数字 java,验证输入仅为字符串,数字仅为JAVA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本問題已經有最佳答案,請猛點這里訪問。

我是一名學生,在驗證輸入方面有點問題。

String name;

System.out.println("Enter name:");

name = keyboard.nextLine();

//If name contain other than alphabetical character print an error

double number;

System.out.println("Enter number:");

name = keyboard.nextDouble();

//If number contain other than number print an error

我嘗試的是將字符串解析為double的測試,但我做不到。我不知道如何測試double是否是唯一的數字。

請告訴我該怎么做。

名稱使用regex [A-Za-z],數字使用\\d。但您不認為名稱可以包含除字母字符之外的其他字符嗎,例如空格?

@Christopher不是一個副本,因為它要求同時驗證數字和非數字輸入。但顯然關系重大。

順便說一下,我投了反對票。這個話題已經在這個網站上討論了很多次,你應該能夠通過一些先前的研究找到答案。

可以使用正則表達式檢查輸入是否與約束匹配,如下所示:

String name;

System.out.println("Enter name:");

name = keyboard.nextLine();

if (!name.matches("[a-zA-Z_]+")) {

System.out.println("Invalid name");

}

String number;

System.out.println("Enter number:");

number = keyboard.nextLine();

if (!number.matches("[0-9]+")) {

System.out.println("Invalid number");

}

這里有一個學習regex的好教程。

幾乎是對的-但是如果你想讓regex工作的話,你必須把這個數字讀成一個字符串。另外,您應該正確地縮進示例代碼。

是的,你是對的。

還有"更高級"的regex解決方案。Java模式文檔

如果使用nextline()讀取兩個輸入,則可以使用此(未測試的代碼):

boolean isWordOnly = Pattern.matches("\w*", name); ? ?//name is in your code

boolean isFloatOnly = Pattern.matches("\d*.?\d*", number); ? ?//number is in your code too

現在,太布爾值告訴您輸入中是否有所需的格式。您可以將它添加到do-while循環或任何您想要的循環中。

開始學習Reg(ular)Ex(Presions)是一個好主意,因為它們在字符串格式中很有用(假設您必須測試輸入是否是有效的電子郵件…)。通常也用于檢查SQL注入和應用程序和程序中的許多關鍵內容。

你好像在用scanner。如果是,可以使用scanner類'hasNextDouble()在讀取double之前檢查輸入是否為double,如下所示:

double number;

System.out.println("Enter number:");

if (keyboard.hasNextDouble()){

name = keyboard.nextDouble();

}

查看scanner類文檔了解更多信息。

double number = 0;

try {

number = Double.parseDouble(name)

} catch (NumberFormatException ex) {

System.out.println("Name is not a double.");

}

如果number不是雙份的,你可以抓一份NumberFormatException。

您可以循環遍歷String的每個字符,并使用Character.isAlphabetic(char)檢查它是否不是字母:

Scanner keyboard = new Scanner(System.in);

System.out.println("Enter name:");

String name = keyboard.nextLine();

for (char c : name.toCharArray()) {

if (!Character.isAlphabetic(c)){

System.out.println("INVALID");

break;

}

}

要只接受數字,可以使用Character.isDigit(char)函數執行類似的操作,但請注意,必須將輸入讀取為String而不是double,或者將輸入讀取為double并使用Double.toString(d)將其轉換為String。

總結

以上是生活随笔為你收集整理的输入字符和数字 java,验证输入仅为字符串,数字仅为JAVA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线视频免费观看一区 | 国产 欧美 自拍 | 最新自拍偷拍 | 在线看成人av | 中文字幕第八页 | 漂亮人妻洗澡被公强 日日躁 | 最好看的2019中文大全在线观看 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 伊人精品综合 | 亚洲一区高清 | 九色蝌蚪视频 | 日本一区二区三区在线视频 | 手机在线播放av | 精品国产一二三四区 | 亚洲第一大综合区 | 性欧美xxxx | 国产一级不卡毛片 | 国产成人区 | 4438x亚洲| 欧洲成人一区二区三区 | 91涩漫成人官网入口 | 中文字幕免费高清视频 | 国产亚洲性欧美日韩在线观看软件 | 女人一区二区三区 | 精品九九九九 | 日本a级片视频 | 国产成人无码精品久久久电影 | 91在线播| 亚洲人成人无码网www国产 | 内射国产内射夫妻免费频道 | 国产三级一区二区三区 | 国产91精选 | 欧美性猛片aaaaaaa做受 | 在线看免费 | 免费黄色高清视频 | 射死你天天日 | 一区在线免费 | 日韩在线第三页 | 国产高潮视频 | 高跟鞋和丝袜猛烈xxxxxx | 女教师痴汉调教hd中字 | 久久精品欧美一区二区三区不卡 | 特黄特色特刺激免费播放 | 樱花动漫无圣光 | 日韩一区免费 | 在线观看欧美亚洲 | 男人私人影院 | 一区二区三区四区精品 | 亚洲激情视频在线 | 欧美一级免费看 | www.看毛片| 久久成人在线 | 无码人妻精品一区二区三区99日韩 | 国产视频久久久久 | 久久婷婷久久 | 永久免费看mv网站入口78 | 欧美日韩激情 | 夜夜天天 | 五个女闺蜜把我玩到尿失禁 | 1000部做爰免费视频 | 三级av网 | 国产成人三级在线观看视频 | 91麻豆产精品久久久久久夏晴子 | 欧美一级在线看 | 蜜桃视频导航 | 男人的天堂免费视频 | 亚洲丝袜在线观看 | 精品欧美一区二区久久久 | 国产 日韩 欧美 精品 | 午夜免费福利小电影 | 久久成人精品一区二区 | 野外做受又硬又粗又大视频√ | 成人欧美一区二区三区 | 天堂av.com| 亚洲免费久久 | 一级黄视频 | 美女作爱网站 | 午夜久久久久久久 | 一二三区在线播放 | 高清一区二区在线 | 人妻无码久久精品人妻 | 日韩一区久久 | 好吊色一区二区三区 | 一级黄毛片| 毛片aa | 丰满人妻一区二区三区精品高清 | 亚洲一区中文字幕 | 黄色小视频在线播放 | 亚洲精品白浆 | 精品久久久久久中文字幕人妻最新 | 日韩在线观看视频一区二区 | 色老汉av一区二区三区 | 色婷婷一区二区 | 粉嫩一区二区三区 | 久久艹精品| 亚洲女人被黑人巨大进入 | 天天干天天日 | 蜜桃av导航 | 小敏的受孕日记h |