为什么此代码打印ASCII值而不是字符

时间:2017-02-05 06:59:53

标签: java

我认为对char进行类型转换我们可以做到这一点,但它只是打印ascii值

   String str = JOptionPane.showInputDialog("Enter a word");

   str = str.toUpperCase();
   String temp = "";

   for(int i = 0 ; i < str.length() ; i++)
   {
       temp += (char)str.charAt(i) + 1;
   }

   System.out.println(temp);

2 个答案:

答案 0 :(得分:1)

你的错误是你将整数1添加到char。 这将返回下一个字符的ASCII码。

更改为

temp += (char)(str.charAt(i) +1)

答案 1 :(得分:1)

您正在添加+ 1,这导致它被转换为整数我不确定如果正确解释只是删除它