我需要幫助編寫一個方法來檢查數字和文本是否連續。如果像輸入的deFgh或456789這樣的輸入和其他任何不連續的輸入都需要返回布爾值true。我不明白如何使循環對於像xyZaBcD和890123或cbazyx創建一個布爾方法來檢查連續的數字
回答
這樣的情況是正確的。只需遍歷字符串並檢查char代碼的序列即可。如果需要,請使用toLowerCase()方法。
您需要知道在哪裏迴環,並循環回。這對字母和數字會有所不同。 – Cruncher
試試這個代碼:
public static boolean isConsecutive(final String s) throws IllegalArgumentException
{
if (null == s) throw new IllegalArgumentException();
if (s.length() <= 1) return true;
final String lc = s.toLowerCase();
char c = lc.charAt(0);
for (int cc=1; cc<lc.length(); cc++)
if ((c+1) != lc.charAt(cc))
return false;
else
c++;
return true;
}
public static void main(String[] args)
{
try
{
System.out.println(isConsecutive("456789"));
System.out.println(isConsecutive("deFgh"));
System.out.println(isConsecutive("xyZaBcD"));
System.out.println(isConsecutive("890123"));
}
catch(final Exception e)
{
e.printStackTrace();
}
}
但我真的建議你不要把它給老師,因爲這將有更多的問題,只使用它作爲指導自己的代碼
可以投(int)給循環中的字符。如果整數介於48和57之間,則表示該字符是數字。
請參閱ASCII表格,以查看char從鑄造中給出的整數。
你可以通過添加示例代碼來改善這一點,並確保你的術語是精確的(「你可以將字符轉換爲int」會更清晰)。 –
這可以在最簡單的方法來實現:
public class Check {
private static boolean checkConsecutive(String str) {
str = str.toLowerCase();
if (str.length() == 1) return true;
for (int i = 1; i < str.length(); i++) {
String first = str.substring(i, i+1);
String beforeFirst = str.substring(i-1, i);
if (beforeFirst.compareTo(first) > 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Check obj = new Check();
System.out.printf("abcdef is: %s%n", obj.checkConsecutive("abcdef"));
System.out.printf("12345 is: %s%n", obj.checkConsecutive("12345"));
System.out.printf("54321 is: %s%n", obj.checkConsecutive("54321"));
System.out.printf("fedcba is: %s%n", obj.checkConsecutive("fedcba"));
}
}
輸出將是下一個:
abcdef is: true
12345 is: true
54321 is: false
fedcba is: false
此行str.substring(i, i+1)
返回一個信,我們可以使用來自String類compareTo()
它比較連續通過它自己。
@ user2896303爲什麼你在這種情況下不接受這個答案? –
- 1. 如何創建一個沒有參數的布爾方法 - Java
- 2. 布爾方法檢查一個隨機數
- 3. 簡單的函數來檢查一個數組是否連續
- 4. 檢查連續號碼的Java方法
- 5. 創建連續分佈時使用scipy的rv_continuous的方法
- 6. 檢查一個元組至少5個連續的數字
- 7. 創建一個方法來檢查贏家
- 8. 創建一個可以連續更新變量的java方法
- 9. 設置工作線程連續檢查對象的布爾值
- 10. 正則表達式來檢查,連續4個數字
- 11. 正則表達式來檢查前3個連續數字
- 12. 無法創建一個觸發器來插入連續值
- 13. 創建兩個方法,返回布爾方法?
- 14. 擴展方法來檢查一個字符串是否是有效的整數,雙精度,布爾等
- 15. 如何創建一個布爾方法從處理器
- 16. 寫一個方法來檢查字符串中的元音數
- 17. 使用同一類的布爾方法檢查字符串的字符
- 18. 創建一個統一的Action1來對字段執行檢查
- 19. 布爾檢查字典
- 20. 連續字符檢查器
- 21. Tkinter連續檢查文字
- 22. 檢查連續13個位數的Java
- 23. 如何創建一個bash腳本來檢查SSH連接?
- 24. 創建一個shell腳本來檢查網絡連接
- 25. 檢查數字列表是否連續
- 26. 的方法來創建一個對象
- 27. 有效的方法來連續檢查是否可用的Internet連接Android中
- 28. 不斷檢查一個布爾值
- 29. 檢查並返回一個布爾值
- 30. 檢查數據的最佳方法是否爲布爾型
你試過了什麼?你有一些代碼嗎? –
您可以掃描文本並保持標誌,意思是「所有字符都是數字到目前爲止」,「所有字符都是迄今爲止的字母」。希望有所幫助。 – Vlad
嘗試自己做功課。這就是它被稱爲作業的原因。別擔心,這很有趣。如果你嘗試在互聯網上找到解決方案。有很多,相信我。如果您的實施有特定問題,請返回此處。 – AlexR