黑马程序员技术交流社区

标题: 帮忙看看着段代码问题出在哪儿? [打印本页]

作者: jacobsnow    时间: 2016-4-26 21:47
标题: 帮忙看看着段代码问题出在哪儿?
帮忙看看着段代码问题出在哪儿?



  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
不是我想要的首字母大写?????



作者: zh2016    时间: 2016-4-26 22:19
代码思路严重不对啊!string里面不是有个up****,slow****,两个方法吗,专门变大小写的!
作者: Wanibal    时间: 2016-4-26 22:54
好人一生平安
作者: Wanibal    时间: 2016-4-26 23:28
所有的数组或复杂对象 如果没有改写toString方法 那它的toString方法返回的都是它的类型和在内存中的地址。所以第15行应该改成String p=new String(y); ,然后System.out.print(p.toUpperCase()),就可以了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2