如何将字符与数字相乘?

问题描述 投票:0回答:1

第一次用stackoverflow! 我是初学者,我会尽量把我的问题写得尽可能短;

用户输入一个数字,例如

1234

char NUMBER = In.read();
while (NUMBER != '\n') {
    Out.println(NUMBER);    
    NUMBER = In.read();
}

程序会将数字输出为“1”“2”“3”“4”,到目前为止一切顺利。

现在我想将这些数字乘以我选择的数字。

尝试这个时,程序说这是不可能的,因为你不能将“char”与“int”相乘。

我该如何解决这个问题?我如何将这些数字相乘?

提前谢谢你!

我尝试使用 ASCII,但在尝试相乘时也不起作用。

java integer char ascii multiplication
1个回答
0
投票

代码点

虽然

char
可以为您工作,但这是一种遗留数据类型。作为 16 位值,
char
在物理上无法表示大多数字符。

所以我建议你在处理单个字符时养成使用 code point 整数的习惯。

int[] codePoints = "1234".codePoints().toArray() ;

循环每个代码点。测试该代码点是否代表一个数字。将每个更改回文本。将该文本解析为整数。

for( int codePoint : codePoints ) 
{
    if( Character.isDigit( codePoint ) )
    {
        String digitAsText = Character.toString() ;
        int x = Integer.parseInt( digitAsText ) ;
        int y = Math.multiplyExact( x , multiplicand ) ;
        System.out.println( x + " * " + multiplicand + " = " + y) ;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.