第一次用stackoverflow! 我是初学者,我会尽量把我的问题写得尽可能短;
用户输入一个数字,例如
1234
char NUMBER = In.read();
while (NUMBER != '\n') {
Out.println(NUMBER);
NUMBER = In.read();
}
程序会将数字输出为“1”“2”“3”“4”,到目前为止一切顺利。
现在我想将这些数字乘以我选择的数字。
尝试这个时,程序说这是不可能的,因为你不能将“char”与“int”相乘。
我该如何解决这个问题?我如何将这些数字相乘?
提前谢谢你!
我尝试使用 ASCII,但在尝试相乘时也不起作用。
虽然
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) ;
}
}