A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

帮忙看看着段代码问题出在哪儿?



  1. [size=4]package com.heima.test;

  2. public class Dome4_change {

  3.         /**
  4.                            需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
  5.                                          //char charAt(int index):获取指定索引位置的字符
  6.                         
  7.          */
  8.         public static void main(String[] args) {
  9.                 String x = "wangnima";
  10.                 for (int i = 0; i < x.length(); i++) {
  11. if (i==0) {
  12.                         char y[] ={x.charAt(i)};
  13.                         String z = y.toString();
  14.                         System.out.print( z.toUpperCase());
  15.                         }else{
  16.                                 System.out.print(x.charAt(i));
  17.                         }
  18.                 }
  19.         }

  20. }[/size]
复制代码
为什么编译运行后是   [C@1AC4F3Eangnima
不是我想要的首字母大写?????


3 个回复

正序浏览
所有的数组或复杂对象 如果没有改写toString方法 那它的toString方法返回的都是它的类型和在内存中的地址。所以第15行应该改成String p=new String(y); ,然后System.out.print(p.toUpperCase()),就可以了
回复 使用道具 举报
好人一生平安
回复 使用道具 举报
代码思路严重不对啊!string里面不是有个up****,slow****,两个方法吗,专门变大小写的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马