繁体   English   中英

如何将负整数转换为char数据类型

[英]How to convert a negative integer value into char datatype

我正在尝试使用基于char的堆栈来解决后缀表达式。
我需要将一些负值压入基于char的堆栈中,例如'-2'但它仅存储'-'部分。
我的确切代码如下所示:

             char val=Character.forDigit(operation(temp),10);
             System.out.println("pushed is "+val);


输出为"pushed is - "
请帮助。

字符类是单数。 就像一个字符一样,一个数字,因此只能得到“ -2”的第一个字符。

请参阅此内容以获得更完整的解释: Java中“ char”和“ String”之间的区别

char表示它由任何特定语言的受支持字符中的1个字符组成。 -2不是1个字符,而是一个string因为它由字符序列组成,例如'-''1' 因此,您的代码正在做正确的事情。

现在,假设您确实需要字符来存储数字,那么就必须将负值映射到其他一些字符上。 0..9数字实际上是ascci# 48..57 因此,您可以做的是从ascci表中连续图片10个字符,并将它们视为-ve。 假设您选择一个.. i作为您的-ve数字,然后a = -1,b = -2,依此类推...

请记住,由于您正在使用字符,因此只要将每个数字视为一个字符,就不能处理两位数字。 然后,您必须处理所有“十进制”操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM