首页 > 解决方案 > 索引不是错误,而是索引 + 索引 = 错误

问题描述

package hello2;

import java.util.Scanner;

public class Today_java {
    public static void main(String[] args) {

        Scanner broken = new Scanner(System.in);
        String input = broken.nextLine();
        char[] charArray = input.toCharArray();

        System.out.println(charArray[0]);
        System.out.println(charArray[1]);
        System.out.println(charArray[2]);

        System.out.printf("%d",charArray[0] + charArray[1] + charArray[2]);
    }
}

运行此代码 print 1, 2, 3 没问题,但 1 + 2 + 3 是错误的

例如)输入 123 >> 1 / 2 / 3 > 150

真的我找不到错误和语法错误

帮我... :(

标签: java

解决方案


当您打印 3 个字符并使用“+”运算符时,它不能像 for 那样作为连接运算符工作String,因为每个字符都有一个 ASCII 表中的 ASCII 值:

在此处输入图像描述

所以 1+2+3 等于 49+50+51 = 150。

要打印 3 个字符,请使用

System.out.printf("%c%c%c", charArray[0] , charArray[1] , charArray[2]);

在哪里%c格式化char.


推荐阅读