编写一个程序,检查字符串数组是否包含有效数字。如果字符串包含“.”,则将其转换为 Double,否则将其转换为 Integer。输入应为字符串数组 { "10.20", "123456", "12 。无效的”}。
我的问题是 123456 正在更改为 double。我必须将其更改为 int。请帮助 :(
public class Ch7LU3Ex1
{
public static void main(String[] args)
{
String[] str = new String []{"10.20","123456","12.invalid"};
int i,count=0;
try
{
for(i=0;i<3;i++)
{
int l = str[i].length();
for(int j=0;j<l;j++)
{
if(str[i].charAt(j)=='.')
{
count++;
}
else
{
continue;
}
}
if(count!=0)
{
double d = Double.parseDouble(str[i]);
System.out.println(d);
}
else
{
int e = Integer.parseInt(str[i]);
System.out.println(e);
}
}
}
catch(NumberFormatException e)
{
System.out.println("Invalid number");
}
}
}