gpt4 book ai didi

java - 为什么 java.util.Scanner 不能将 0700 视为八进制文字?

转载 作者:行者123 更新时间:2023-12-01 08:15:34 26 4
gpt4 key购买 nike

   public static void main(String argv[]){
String a="0700";
Scanner s = new Scanner(a);
while(s.hasNextLong()){
System.out.print(s.nextLong()+",");
}

结果将是“700”,而不是“448”。

最佳答案

默认情况下,扫描器假定数字以 10 为基数,并将忽略前导 0。如果需要,您可以指定另一个基数 - 下面的代码打印 448:

public static void main(String[] args) {
String a = "0700";
Scanner s = new Scanner(a);
while (s.hasNextLong(8)) { //make sure the number can be parsed as an octal
System.out.print(s.nextLong(8)); //read as an octal value
}
}

关于java - 为什么 java.util.Scanner 不能将 0700 视为八进制文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13647618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com