如何解决代码在字符串连接后显示十六进制值而不是字符串
下面的代码在 3 个不同的行上使用 3 个单词。第一个单词应该更改为所有元音都应该替换为 %
。第二个词应该改变,就像所有的辅音都应该被 #
代替。第三个单词应该更改为所有字符都应该转换为大写。然后将三个单词连接起来并打印出来。例如,第 1、2、3 个词分别是:
how,are,you
那么,结果应该是:
h%wa#eYOU
但是,我得到的结果是:
[C@4769b07b[C@cc34f4dYOU
我的代码是:
Scanner sc = new Scanner(System.in);
String fword = sc.nextLine();
String sword = sc.nextLine();
String tword = sc.nextLine().toUpperCase();
char[] arr1 = fword.toCharArray();
char[] arr2 = sword.toCharArray();
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] == 'a' || arr1[i] == 'e' || arr1[i] == 'i' || arr1[i] == 'o'
|| arr1[i] == 'u' || arr1[i] == 'A' || arr1[i] == 'E'
|| arr1[i] == 'I' || arr1[i] == 'O' || arr1[i] == 'U')
arr1[i] = '%';
}
for (int i = 0; i < arr2.length; i++) {
if (arr2[i] != 'a' && arr2[i] != 'e' && arr2[i] != 'i' && arr2[i] != 'o'
&& arr2[i] != 'u' && arr2[i] != 'A' && arr2[i] != 'E'
&& arr2[i] != 'I' && arr2[i] != 'O' && arr2[i] != 'U')
arr2[i] = '#';
}
String res1 = arr1.toString();
String res2 = arr2.toString();
System.out.println(res1 + res2 + tword);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。