Java 推入堆栈的char值具有不同的值
各位。 我需要在堆栈中放入char值:Java 推入堆栈的char值具有不同的值,java,char,stack,Java,Char,Stack,各位。 我需要在堆栈中放入char值: for(char ch: operand.toCharArray()) { System.out.println("ch: " + ch); numericsOfTheOperand.push((int) ch); System.out.println("numericsOfTheOperand.peek() " + numericsOfTheOperand.peek()); } 例
for(char ch: operand.toCharArray()) {
System.out.println("ch: " + ch);
numericsOfTheOperand.push((int) ch);
System.out.println("numericsOfTheOperand.peek() " + numericsOfTheOperand.peek());
}
例如,操作数:456454
控制台中的输出:
ch: 4
numericsOfTheOperand.peek() 52
ch: 5
numericsOfTheOperand.peek() 53
ch: 6
numericsOfTheOperand.peek() 54
ch: 4
numericsOfTheOperand.peek() 52
ch: 5
numericsOfTheOperand.peek() 53
ch: 4
numericsOfTheOperand.peek() 52
ch: 4
numericsOfTheOperand.peek() 52
我不明白,为什么价值是不同的?
如何解决它?要将
字符
推送到堆栈
中,您需要将其声明为:
Stack<Character> numericsOfTheOperand = new Stack<>();
输出:
您正在将
char
强制转换为int
,从而获得它的int
值。要将char
推到堆栈中,您需要将其声明为:
Stack<Character> numericsOfTheOperand = new Stack<>();
输出:
您正在将一个char
转换为int
,从而获得它的int
值。您的NumericsofOperand是如何定义的?您的NumericsofOperand是如何定义的?
numericsOfTheOperand.peek() 4
numericsOfTheOperand.peek() 5
numericsOfTheOperand.peek() 6
numericsOfTheOperand.peek() 4
numericsOfTheOperand.peek() 5
numericsOfTheOperand.peek() 4