我有一個讀取7個字符的字母數字代碼(由用戶輸入)的掃描器。該字符串變量被稱爲「代碼」。比較字符串整數問題
代碼的最後一個字符(第7個字符,第6個索引)必須是數字,其餘字母可以是數字或字母。如果代碼中的最後一個字符只是一個數字(從0到9),就會停止執行其餘的方法。但是,我的代碼不能按預期工作,即使我的代碼以0到9之間的整數結尾,if語句也會被滿足,並打印出「代碼中的最後一個字符是非數值的」。
示例代碼:45m4av7
CharacterAtEnd打印出的字符串的字符7,因爲它應該 但是我的程序仍告訴我,我的代碼結束非數字 我知道,我的電話號碼的值是字符串。字符,但它不應該的事,應該嗎? 也我顯然不能比較實際的整數值與「|」,這主要是爲什麼即時通訊使用Strin g.valueOf,並取0-9的字符串。
String characterAtEnd = String.valueOf(code.charAt(code.length()-1));
System.out.println(characterAtEnd);
if(!characterAtEnd.equals(String.valueOf(0|1|2|3|4|5|6|7|8|9))){
System.out.println("INVALID CRC CODE: last character in code in non-numerical.");
System.exit(0);
我不能爲我的生命,弄清楚爲什麼我的計劃告訴我,我的代碼(即有7月末)結束非數值。它應該跳過if語句並繼續。對?
嘗試使用正則表達式。 [鏈接](http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/) – SaintLike
請用編程語言標記您的問題。 – Barmar
http://stackoverflow.com/questions/1223052/how-do-i-find-out-if-first-character-of-a-string-is-a-number –