我试图将特定String索引处的字符转换为整数。
这是我的功能:
<iframe src='@Url.Action("GetPDF","BillPayment", new { id = @Model.ROIAgreementApplication })' width="100%" height="1000" frameborder="0" />
不幸的是,当我用public int[] digitsOfPi(int n) {
{
String piDigits = Double.toString(Math.PI);
int[] piArray = new int[n];
for (int i = 0; i < n; i++)
{
piArray[i] = Character.digit(piDigits.charAt(i), n);;
}
return piArray;
}
}
测试这个函数时,我得到了
digitsOfPi(3)
非常感谢任何帮助。
答案 0 :(得分:3)
使用Arrays.toString(arg)
System.out.println(Arrays.toString(digitsOfPi(3)));
...获得漂亮的结果输出
[1, 2, 3]
您打印的内容是对数组的引用,而不是其内容。这就是为什么我首先询问你输出结果的方式。
Character.digit()
的签名是(char ch, int RADIX)
。所以你使用三元数系统或如何调用它。此外,当char ch
不包含有效数字时,它会返回-1,因此3.1415...
就是[invalid, invalid, 1]
。您需要使用10作为参数并跳过第2个位置。
或者你可以简单地做
piArray[i] = piDigits.charAt(i) - '0';
答案 1 :(得分:0)
您正在使用System.out.pritln(digitsOfPi(3)
将元素置于第3位,但实际上它返回的数组为int
因此,请尝试使用以下代码段 -
public static int digitsOfPi(int n) {
String piDigits = Double.toString(Math.PI);
char[] array = piDigits.toCharArray();
return Character.getNumericValue(array[3]);
}