我在这里遇到了一个很大的问题。基本上我要做的就是让用户输入一个数字......然后该程序将获取该数字,如果数据为负数或正数,则读取该数字。如果为负值,则将先前的假否定为真,然后继续。然后它再次读取数字,检查前导零,如果有任何删除它们。然后它接受剩下的内容并检查字符串是否大于最大字符数量(如果它是循环来计算空格的数量),同时计算空格也确保它们是数字。如果字符串的长度超出字符程序停止检查的允许量更大,打印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