我在這裏遇到了一個很大的問題。基本上我要做的就是讓用戶輸入一個數字......然後該程序將獲取該數字,如果數據爲負數或正數,則讀取該數字。如果爲負值,則將先前的假否定爲真,然後繼續。然後它再次讀取數字,檢查前導零,如果有任何刪除它們。然後它接受剩下的內容並檢查字符串是否大於最大字符數量(如果它是循環來計算空格的數量),同時計算空格也確保它們是數字。如果字符串的長度超出字符程序停止檢查的允許量更大,打印0讀取字符串,檢查字符串並輸出數字
我的問題是,它一直跳到即使字符串長度的長度有效
這裏的0輸出是什麼我有。
String snum;
System.out.print("Please enter a number here : ");
snum = console.next();
System.out.println(getIntnum(" The number entered was: "+snum));
其他通用的東西
final String maxInt = "2147483648";
final String minInt = "-2147483648";
boolean negval = false;
int n;
int count;
int num = 1;
int value;
if(snum.charAt(0) == '-' || snum.charAt(0) == '+')
{
if(snum.charAt(0) == '-')
{
negval = true;
}
else
{
snum = snum.substring(1, snum.length());
}
}
while (snum.charAt(0) == '0')
{
snum = snum.substring(1, snum.length());
}
n = snum.length();
if (n < 10)
{
count = 0;
if (count < n)
{
if (Character.isDigit(snum.charAt(count)))
count++;
}
}
else
{
num = 0;
}
if(maxInt.compareTo(snum) >= 0 && minInt.compareTo(snum) <= 0)
{
num = Integer.parseInt(snum);
}
if(negval == true)
{
num = num * -1;
}
value = num;
return value;
}
}
返回值不應該出現兩次。 –
這是什麼意思「如果它是循環來計算空間,而它計數的空間,它也確保他們是數字」......空格是數字? – xagyg