【问题标题】:Why did value of string integer changed when putting it into int array?为什么将字符串整数放入int数组时的值会发生变化?
【发布时间】:2022-01-27 05:52:29
【问题描述】:
Scanner input = new Scanner(System.in);
    System.out.println("How many numbers will you enter?");
    int x = input.nextInt();
    input.nextLine();
    int[] array = new int[x];
    
    System.out.println("Enter " + x + " integers, one per line:");
    Integer y = input.nextInt();
    input.nextLine();
    String z = y.toString();
    
    for (int i = 0; i < array.length; i++) {
        array[i] = z.charAt(i);
        System.out.println(z.charAt(i));
    }
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }

我将 1 放入数组中,当我打印它时,它被打印为 49。

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    您将char 放入int 数组中,得到了预期的结果——这是字符'1'or 49 的ASCII 值。

    您想要为您的用例做的是在整行的String 上使用Integer.parseInt,而不是尝试转换单个字符。

    【讨论】:

    • 做到了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 2022-06-10
    • 2021-12-31
    • 2011-10-31
    • 2016-09-25
    • 2016-05-16
    相关资源
    最近更新 更多